📢 안내사항 > 본 자료는 제미나이(Gemini) AI를 기반으로 생성되었으며, 수차례 정밀 검토를 수행하였으나 기술적인 오류가 포함될 수 있습니다. 혹시 잘못된 번호, 링크 또는 명칭을 발견하신다면 언제든 공유해 주세요. 최대한 빠르게 수정하여 업데이트하도록 하겠습니다.
| 번호 | 책 문제 (BOJ) | 유사 문제 (Alternative) | 사이트 | 로직 유사도 | 알고리즘 테마 |
|---|---|---|---|---|---|
| 001 | 숫자의 합 (11720) | 1. 문자열 정수의 합 2. Add Digits |
프로그래머스 LeetCode |
100% 95% |
배열과 리스트 (숫자 분리) |
| 002 | 평균 구하기 (1546) | 1. 평균 구하기 2. Average Salary |
프로그래머스 LeetCode |
90% 80% |
배열과 리스트 (수식 가공) |
| 003 | 구간 합 구하기 1 (11659) | 1. 연속된 부분 수열의 합 2. Range Sum Query - Immutable |
프로그래머스 LeetCode |
85% 100% |
구간 합 (Prefix Sum) |
| 004 | 구간 합 구하기 2 (11660) | 1. 2차원 배열의 합 2. Range Sum Query 2D - Immutable |
프로그래머스 LeetCode |
80% 100% |
구간 합 (2D Prefix Sum) |
| 005 | 나머지 합 구하기 (10986) | 1. 연속된 부분 수열의 합 2. Subarray Sums Divisible by K |
프로그래머스 LeetCode |
80% 98% |
구간 합 (Remainder Math) |
| 006 | 연속된 자연수의 합 구하기 (2018) | 1. 숫자의 표현 2. Consecutive Numbers Sum |
프로그래머스 LeetCode |
100% 100% |
투 포인터 (연속 합) |
| 007 | 주몽의 명령 (1940) | 1. 두 개 뽑아서 더하기 2. Two Sum II - Input Sorted |
프로그래머스 LeetCode |
85% 95% |
투 포인터 (Target Sum) |
| 008 | '좋은 수' 구하기 (1253) | 1. 두 수의 합 2. 3Sum |
프로그래머스 LeetCode |
80% 90% |
투 포인터 (조합 합) |
| 009 | DNA 비밀번호 (12891) | 1. 문자열 내 마음대로 정렬하기 2. Permutation in String |
프로그래머스 LeetCode |
75% 95% |
슬라이딩 윈도우 (Hash/Freq) |
| 010 | 최솟값 찾기 (11003) | 1. 최댓값과 최솟값 2. Sliding Window Maximum |
프로그래머스 LeetCode |
70% 100% |
슬라이딩 윈도우 (Deque) |
| 011 | 스택으로 수열 만들기 (1874) | 1. 올바른 괄호 2. Validate Stack Sequences |
프로그래머스 LeetCode |
80% 99% |
스택 (Push/Pop 시뮬레이션) |
| 012 | 오큰수 구하기 (17298) | 1. 뒤에 있는 큰 수 찾기 2. Next Greater Element I |
프로그래머스 LeetCode |
100% 95% |
스택 (단조 스택 활용) |
| 013 | 카드 게임 (2164) | 1. 프로세스 2. Number of Students Unable to Eat |
프로그래머스 LeetCode |
80% 90% |
큐 (순환 구조 설계) |
| 014 | 절댓값 힙 구현하기 (11286) | 1. 더 맵게 2. K Closest Points to Origin |
프로그래머스 LeetCode |
80% 85% |
우선순위 큐 (커스텀 정렬) |
| 015 | 수 정렬하기 1 (2750) | 1. 정수 내림차순으로 배치하기 2. Sort an Array |
프로그래머스 LeetCode |
90% 100% |
정렬 (기본 정렬 원리) |
| 016 | 버블 정렬 프로그램 1 (1377) | 1. 가장 큰 수 2. Global and Local Inversions |
프로그래머스 LeetCode |
70% 85% |
정렬 (인덱스 이동 거리 계산) |
| 017 | 내림차순 자릿수 정렬하기 (1427) | 1. 문자열 내림차순으로 배치하기 2. Largest Number |
프로그래머스 LeetCode |
95% 90% |
정렬 (숫자 조합 커스텀 정렬) |
| 018 | ATM 인출 시간 계산하기 (11399) | 1. 최솟값 만들기 2. Assign Cookies |
프로그래머스 LeetCode |
90% 85% |
그리디 (정렬 후 부분합 최적화) |
| 019 | K번째 수 구하기 (11004) | 1. K번째수 2. Kth Largest Element in an Array |
프로그래머스 LeetCode |
100% 100% |
정렬 (Quick Select/Heap 탐색) |
| 020 | 수 정렬하기 2 (2751) | 1. H-Index 2. Sort an Array |
프로그래머스 LeetCode |
80% 100% |
정렬 ( |
| 021 | 버블 정렬 프로그램 2 (1517) | 1. 명예의 전당 (1) 2. Reverse Pairs |
프로그래머스 LeetCode |
65% 95% |
정렬 (Inversion Count 로직) |
| 022 | 수 정렬하기 3 (10989) | 1. 숫자 게임 2. Sort Colors |
프로그래머스 LeetCode |
70% 95% |
정렬 (Counting Sort 원리) |
| 023 | 연결 요소의 개수 구하기 (11724) | 1. 네트워크 2. Number of Islands |
프로그래머스 LeetCode |
100% 95% |
탐색 (DFS/BFS 그룹핑) |
| 024 | 신기한 소수 찾기(2023) | 1. 소수 찾기 2. Prime Palindrome |
프로그래머스 LeetCode |
85% 85% |
탐색 (DFS & 백트래킹) |
| 025 | 친구 관계 파악하기 (13023) | 1. 타겟 넘버 2. All Paths From Source to Target |
프로그래머스 LeetCode |
70% 85% |
탐색 (DFS 깊이 탐색) |
| 026 | N과 M (15649) | 1. 피로도 2. Permutations |
프로그래머스 LeetCode |
80% 100% |
백트래킹 (순열 생성) |
| 027 | N-Queen 배치하기 (9663) | 1. N-Queen 2. N-Queens |
프로그래머스 LeetCode |
100% 100% |
백트래킹 (가지치기) |
| 028 | 색종이 붙이기 (17136) | 1. 하노이의 탑 2. Tiling a Rectangle |
프로그래머스 LeetCode |
70% 90% |
백트래킹 (상태 탐색) |
| 029 | DFS와 BFS 프로그램 (1260) | 1. 타겟 넘버 2. Clone Graph |
프로그래머스 LeetCode |
85% 80% |
탐색 (DFS/BFS 기본) |
| 030 | 미로 탐색하기 (2178) | 1. 게임 맵 최단거리 2. Shortest Path in Binary Matrix |
프로그래머스 LeetCode |
100% 95% |
탐색 (BFS 최단거리) |
| 031 | 트리의 지름 구하기 (1167) | 1. 가장 먼 노드 2. Diameter of Binary Tree |
프로그래머스 LeetCode |
80% 90% |
탐색 (Tree Traversal) |
| 032 | 원하는 정수 찾기 (1920) | 1. H-Index 2. Binary Search |
프로그래머스 LeetCode |
70% 100% |
탐색 (Binary Search) |
| 033 | 블루레이 만들기 (2343) | 1. 입국심사 2. Capacity To Ship Packages |
프로그래머스 LeetCode |
85% 100% |
탐색 (Parametric Search) |
| 034 | 배열에서 K번째 수 찾기 (1300) | 1. 입국심사 2. Kth Smallest Number in Multiplication Table |
프로그래머스 LeetCode |
80% 100% |
탐색 (이진 탐색 응용) |
| 035 | 동전 개수의 최솟값 구하기 (11047) | 1. 거스름돈 2. Lemonade Change |
프로그래머스 LeetCode |
80% 85% |
그리디 (최적 부분 구조) |
| 036 | 카드 정렬하기 (1715) | 1. 더 맵게 2. Minimum Cost to Connect Sticks |
프로그래머스 LeetCode |
90% 100% |
그리디 (우선순위 큐) |
| 037 | 수를 묶어서 최댓값 만들기 (1744) | 1. 구명보트 2. Maximize Sum After K Negations |
프로그래머스 LeetCode |
75% 85% |
그리디 (양수/음수 분류 정렬) |
| 038 | 회의실 배정하기 (1931) | 1. 요항 미사일 2. Non-overlapping Intervals |
프로그래머스 LeetCode |
90% 95% |
그리디 (활동 선택 문제) |
| 039 | 최솟값을 만드는 괄호 배치 찾기 (1541) | 1. 최적의 행렬 곱셈 2. Minimize Result by Parentheses |
프로그래머스 LeetCode |
70% 85% |
그리디 (문자열 파싱) |
| 040 | 소수 구하기 (1929) | 1. 소수 찾기 2. Count Primes |
프로그래머스 LeetCode |
100% 100% |
정수론 (에라토스테네스의 체) |
| 041 | 거의 소수 구하기 (1456) | 1. 소수 찾기 2. Closest Prime Numbers in Range |
프로그래머스 LeetCode |
80% 85% |
정수론 (체 응용/거듭제곱) |
| 042 | 소수&팰린드롬 수 중에서 최솟값 찾기 (1747) | 1. 가장 긴 팰린드롬 2. Prime Palindrome |
프로그래머스 LeetCode |
75% 100% |
정수론 (체 + 팰린드롬 검사) |
| 043 | 제곱이 아닌 수 (1016) | 1. 멀리 뛰기 2. Smallest Missing Genetic Value |
프로그래머스 LeetCode |
60% 70% |
정수론 (체 활용/포함배제) |
| 044 | 오일러 피 함수 구현하기 (11689) | 1. 소수 찾기 2. Count Primes |
프로그래머스 LeetCode |
70% 80% |
정수론 (오일러 피) |
| 045 | 최소 공배수 (1934) | 1. N개의 최소공배수 2. Smallest Even Multiple |
프로그래머스 LeetCode |
95% 95% |
정수론 (최소 공배수) |
| 046 | 최대 공약수 (1850) | 1. 분수의 덧셈 2. Greatest Common Divisor of Strings |
프로그래머스 LeetCode |
85% 95% |
정수론 (최대 공약수) |
| 047 | 칵테일 만들기 (1033) | 1. N개의 최소공배수 2. Evaluate Division |
프로그래머스 LeetCode |
75% 85% |
정수론 (GCD/LCM 응용) |
| 048 | Ax + By = C (21568) | 1. 하노이의 탑 2. Water and Jug Problem |
프로그래머스 LeetCode |
60% 90% |
정수론 (확장 유클리드 호제법) |
| 049 | 특정 거리의 도시 찾기 (18352) | 1. 게임 맵 최단거리 2. Shortest Path in Binary Matrix |
프로그래머스 LeetCode |
90% 95% |
그래프 (BFS) |
| 050 | 효율적으로 해킹하기 (1325) | 1. 네트워크 2. Keys and Rooms |
프로그래머스 LeetCode |
85% 90% |
그래프 (DFS/BFS) |
| 051 | 이분 그래프 판별하기 (1707) | 1. 가장 먼 노드 2. Is Graph Bipartite? |
프로그래머스 LeetCode |
80% 100% |
그래프 (이분 그래프) |
| 052 | 물의 양 구하기 (2251) | 1. 보석 쇼핑 2. Water and Jug Problem |
프로그래머스 LeetCode |
70% 95% |
그래프 (BFS) |
| 053 | 집합의 표현하기 (1717) | 1. 네트워크 2. Satisfiability of Equality Equations |
프로그래머스 LeetCode |
90% 95% |
그래프 (유니온 파인드) |
| 054 | 여행 계획 짜기 (1976) | 1. 네트워크 2. Find if Path Exists in Graph |
프로그래머스 LeetCode |
95% 95% |
그래프 (유니온 파인드) |
| 055 | 거짓말쟁이가 되긴 싫어 (1043) | 1. 무지의 먹방 라이브 2. Satisfiability of Equality Equations |
프로그래머스 LeetCode |
70% 90% |
그래프 (유니온 파인드) |
| 056 | 줄 세우기 (2252) | 1. 수식 최대화 2. Course Schedule II |
프로그래머스 LeetCode |
70% 100% |
그래프 (위상 정렬) |
| 057 | 게임 개발 하기 (1516) | 1. 수식 최대화 2. Parallel Courses III |
프로그래머스 LeetCode |
70% 99% |
그래프 (위상 정렬) |
| 058 | 임계 경로 구하기 (1948) | 1. 가장 먼 노드 2. Parallel Courses III |
프로그래머스 LeetCode |
75% 90% |
그래프 (위상 정렬) |
| 059 | 최단 경로 구하기 (1753) | 1. 배달 2. Network Delay Time |
프로그래머스 LeetCode |
95% 100% |
그래프 (다익스트라) |
| 060 | 최소비용 구하기 (1916) | 1. 배달 2. Path With Minimum Effort |
프로그래머스 LeetCode |
95% 95% |
그래프 (다익스트라) |
| 061 | K번째 최단경로 찾기 (1854) | 1. 배달 2. Cheapest Flights Within K Stops |
프로그래머스 LeetCode |
80% 85% |
그래프 (다익스트라) |
| 062 | 타임머신으로 빨리 가기 (11657) | 1. 배달 2. Network Delay Time |
프로그래머스 LeetCode |
75% 80% |
그래프 (벨만-포드) |
| 063 | 오민식의 고민 (1219) | 1. 배달 2. Cheapest Flights Within K Stops |
프로그래머스 LeetCode |
70% 80% |
그래프 (벨만-포드) |
| 064 | 가장 빠른 버스 노선 구하기(11404) | 1. 순위 2. City with Smallest Neighbors |
프로그래머스 LeetCode |
90% 100% |
그래프 (플로이드-워셜) |
| 065 | 경로 찾기 (11403) | 1. 순위 2. Detonate the Maximum Bombs |
프로그래머스 LeetCode |
85% 90% |
그래프 (플로이드-워셜) |
| 066 | 케빈 베이컨의 6단계 법칙 (1389) | 1. 가장 먼 노드 2. Shortest Path in Binary Matrix |
프로그래머스 LeetCode |
85% 95% |
그래프 (플로이드-워셜) |
| 067 | 최소 신장 트리 구하기 (1197) | 1. 섬 연결하기 2. Min Cost to Connect All Points |
프로그래머스 LeetCode |
95% 100% |
그래프 (최소 신장 트리) |
| 068 | 다리 만들기 2 (17472) | 1. 섬 연결하기 2. Min Cost to Connect All Points |
프로그래머스 LeetCode |
90% 85% |
그래프 (MST + BFS) |
| 069 | 불우이웃돕기 (1414) | 1. 섬 연결하기 2. Min Cost to Connect All Points |
프로그래머스 LeetCode |
90% 90% |
그래프 (최소 신장 트리) |
| 070 | 트리의 부모 찾기 (11725) | 1. 길 찾기 게임 2. Validate Binary Tree Nodes |
프로그래머스 LeetCode |
75% 85% |
트리 (순회 기초) |
| 071 | 리프 노드의 개수 구하기 (1068) | 1. 길 찾기 게임 2. Delete Leaves With a Given Value |
프로그래머스 LeetCode |
70% 85% |
트리 (삭제 및 탐색) |
| 072 | 문자열 찾기 (14425) | 1. 전화번호 목록 2. Implement Trie (Prefix Tree) |
프로그래머스 LeetCode |
85% 100% |
트리 (트라이) |
| 073 | 트리 순회 하기 (1991) | 1. 길 찾기 게임 2. Binary Tree Preorder Traversal |
프로그래머스 LeetCode |
85% 100% |
트리 (전위/중위/후위) |
| 074 | 구간 합 구하기 3 (2042) | 1. 연속된 부분 수열의 합 2. Range Sum Query - Mutable |
프로그래머스 LeetCode |
70% 100% |
트리 (세그먼트 트리) |
| 075 | 최솟값 찾기 2 (10868) | 1. 최댓값과 최솟값 2. Range Sum Query - Mutable |
프로그래머스 LeetCode |
65% 90% |
트리 (세그먼트 트리) |
| 076 | 구간 곱 구하기 (11505) | 1. 최솟값 만들기 2. Range Sum Query - Mutable |
프로그래머스 LeetCode |
60% 85% |
트리 (세그먼트 트리) |
| 077 | 최소 공통 조상 구하기 1 (11437) | 1. 길 찾기 게임 2. Lowest Common Ancestor of a Binary Tree |
프로그래머스 LeetCode |
80% 95% |
트리 (최소 공통 조상) |
| 078 | 최소 공통 조상 구하기 2 (11438) | 1. 길 찾기 게임 2. Kth Ancestor of a Tree Node |
프로그래머스 LeetCode |
75% 95% |
트리 (최소 공통 조상) |
| 079 | 이항 계수 구하기 1 (11050) | 1. N으로 만들기 2. Combinations |
프로그래머스 LeetCode |
65% 95% |
조합론 (이항 계수) |
| 080 | 이항 계수 구하기 2 (11051) | 1. 멀리 뛰기 2. Pascal's Triangle |
프로그래머스 LeetCode |
70% 90% |
조합론 (이항 계수) |
| 081 | 부녀회장이 될테야 (2775) | 1. 멀리 뛰기 2. Pascal's Triangle |
프로그래머스 LeetCode |
80% 100% |
조합론 (파스칼의 삼각형) |
| 082 | 다리 놓기 (1010) | 1. 징검다리 2. Combinations |
프로그래머스 LeetCode |
60% 95% |
조합론 (조합 기초) |
| 083 | 조약돌 꺼내기 (13251) | 1. 타겟 넘버 2. Probability of Two Boxes Same Balls |
프로그래머스 LeetCode |
60% 80% |
조합론 (확률과 조합) |
| 084 | 순열의 순서 구하기 (1722) | 1. 줄 세우는 방법 2. Permutation Sequence |
프로그래머스 LeetCode |
100% 100% |
조합론 (순열 카운팅) |
| 085 | 사전 찾기 (1256) | 1. 단어 변환 2. Kth Smallest Instructions |
프로그래머스 LeetCode |
60% 95% |
조합론 (사전식 배열) |
| 086 | 선물 전달 하기 (1947) | 1. 멀리 뛰기 2. Climbing Stairs |
프로그래머스 LeetCode |
75% 70% |
조합론 (완전 순열) |
| 087 | 정수를 1로 만들기 (1463) | 1. 정수 삼각형 2. Integer Break |
프로그래머스 LeetCode |
70% 85% |
DP (Memoization) |
| 088 | 퇴사 준비하기 (14501) | 1. 도둑질 2. House Robber |
프로그래머스 LeetCode |
85% 85% |
DP (점화식 최적화) |
| 089 | 이친수 구하기 (2193) | 1. 멀리 뛰기 2. Fibonacci Number |
프로그래머스 LeetCode |
95% 95% |
DP (피보나치 응용) |
| 090 | 2*N 타일 채우기 (11726) | 1. 2 x n 타일링 2. Domino and Tromino Tiling |
프로그래머스 LeetCode |
100% 85% |
DP (타일링 점화식) |
| 091 | 계단 수 구하기 (10844) | 1. 정수 삼각형 2. Knight Dialer |
프로그래머스 LeetCode |
70% 85% |
DP (상태 전위) |
| 092 | 연속된 정수의 합 구하기 (13398) | 1. 연속 부분 수열 합의 개수 2. Maximum Subarray Sum with One Deletion |
프로그래머스 LeetCode |
75% 100% |
DP (카데인 응용) |
| 093 | 최장 공통 부분 수열 찾기 (9251) | 1. 최적의 행렬 곱셈 2. Longest Common Subsequence |
프로그래머스 LeetCode |
70% 100% |
DP (LCS) |
| 094 | 가장 큰 정사각형 찾기 (1915) | 1. 가장 큰 정사각형 찾기 2. Maximal Square |
프로그래머스 LeetCode |
100% 100% |
DP (공간 최적화) |
| 095 | 빌딩 순서 정하기 (1328) | 1. 징검다리 건너기 2. Number of Ways to Rearrange Sticks |
프로그래머스 LeetCode |
65% 95% |
DP (조합론적 DP) |
| 096 | LCS 2 구하기 (9252) | 1. 최적의 행렬 곱셈 2. Shortest Common Supersequence |
프로그래머스 LeetCode |
65% 95% |
DP (LCS 역추적) |
| 097 | 가장 긴 증가하는 부분 수열 찾기 (11053) | 1. 가장 긴 팰린드롬 2. Longest Increasing Subsequence |
프로그래머스 LeetCode |
70% 100% |
DP (LIS 알고리즘) |
| 098 | 외판원 순회 경로 짜기(2098) | 1. 순위 2. Shortest Path Visiting All Nodes |
프로그래머스 LeetCode |
65% 95% |
DP (비트마스킹 TSP) |
| 099 | DDR을 해보자 (2342) | 1. 스티커 모으기(2) 2. Paint House III |
프로그래머스 LeetCode |
65% 90% |
DP (다차원 상태 전이) |
| 100 | 선분 방향 구하기 (11758) | 1. 삼각형의 완성조건 (2) 2. Erect the Fence |
프로그래머스 LeetCode |
60% 90% |
기하 (방향 판별) |
| 101 | 선분의 교차 여부 구하기 (17387) | 1. 방의 개수 2. Check if two line segments intersect |
프로그래머스 LeetCode |
80% 95% |
기하 (CCW 심화) |
| 102 | 선분을 그룹으로 나누기 (2162) | 1. 네트워크 2. Number of Provinces |
프로그래머스 LeetCode |
85% 90% |
기하 + 유니온 파인드 |
| 103 | 다각형의 넓이 (2166) | 1. 삼각형의 완성조건 (2) 2. Largest Triangle Area |
프로그래머스 LeetCode |
60% 85% |
기하 (신발끈 공식) |
| :--- | :--- | :--- | :--- | :--- | :--- |
| 001 | 숫자의 합 (11720) | 1. 문자열 정수의 합 2. Add Digits |
프로그래머스 LeetCode |
100% 95% |
배열과 리스트 (숫자 분리) |
| 002 | 평균 구하기 (1546) | 1. 평균 구하기 2. Average Salary |
프로그래머스 LeetCode |
90% 80% |
배열과 리스트 (수식 가공) |
| 003 | 구간 합 구하기 1 (11659) | 1. 연속된 부분 수열의 합 2. Range Sum Query - Immutable |
프로그래머스 LeetCode |
85% 100% |
구간 합 (Prefix Sum) |
| 004 | 구간 합 구하기 2 (11660) | 1. 2차원 배열의 합 2. Range Sum Query 2D - Immutable |
프로그래머스 LeetCode |
80% 100% |
구간 합 (2D Prefix Sum) |
| 005 | 나머지 합 구하기 (10986) | 1. 연속된 부분 수열의 합 2. Subarray Sums Divisible by K |
프로그래머스 LeetCode |
80% 98% |
구간 합 (Remainder Math) |
| 006 | 연속된 자연수의 합 구하기 (2018) | 1. 숫자의 표현 2. Consecutive Numbers Sum |
프로그래머스 LeetCode |
100% 100% |
투 포인터 (연속 합) |
| 007 | 주몽의 명령 (1940) | 1. 두 개 뽑아서 더하기 2. Two Sum II - Input Sorted |
프로그래머스 LeetCode |
85% 95% |
투 포인터 (Target Sum) |
| 008 | '좋은 수' 구하기 (1253) | 1. 두 수의 합 2. 3Sum |
프로그래머스 LeetCode |
80% 90% |
투 포인터 (조합 합) |
| 009 | DNA 비밀번호 (12891) | 1. 문자열 내 마음대로 정렬하기 2. Permutation in String |
프로그래머스 LeetCode |
75% 95% |
슬라이딩 윈도우 (Hash/Freq) |
| 010 | 최솟값 찾기 (11003) | 1. 최댓값과 최솟값 2. Sliding Window Maximum |
프로그래머스 LeetCode |
70% 100% |
슬라이딩 윈도우 (Deque) |
| 011 | 스택으로 수열 만들기 (1874) | 1. 올바른 괄호 2. Validate Stack Sequences |
프로그래머스 LeetCode |
80% 99% |
스택 (Push/Pop 시뮬레이션) |
| 012 | 오큰수 구하기 (17298) | 1. 뒤에 있는 큰 수 찾기 2. Next Greater Element I |
프로그래머스 LeetCode |
100% 95% |
스택 (단조 스택 활용) |
| 013 | 카드 게임 (2164) | 1. 프로세스 2. Number of Students Unable to Eat |
프로그래머스 LeetCode |
80% 90% |
큐 (순환 구조 설계) |
| 014 | 절댓값 힙 구현하기 (11286) | 1. 더 맵게 2. K Closest Points to Origin |
프로그래머스 LeetCode |
80% 85% |
우선순위 큐 (커스텀 정렬) |
| 015 | 수 정렬하기 1 (2750) | 1. 정수 내림차순으로 배치하기 2. Sort an Array |
프로그래머스 LeetCode |
90% 100% |
정렬 (기본 정렬 원리) |
| 016 | 버블 정렬 프로그램 1 (1377) | 1. 가장 큰 수 2. Global and Local Inversions |
프로그래머스 LeetCode |
70% 85% |
정렬 (인덱스 이동 거리 계산) |
| 017 | 내림차순 자릿수 정렬하기 (1427) | 1. 문자열 내림차순으로 배치하기 2. Largest Number |
프로그래머스 LeetCode |
95% 90% |
정렬 (숫자 조합 커스텀 정렬) |
| 018 | ATM 인출 시간 계산하기 (11399) | 1. 최솟값 만들기 2. Assign Cookies |
프로그래머스 LeetCode |
90% 85% |
그리디 (정렬 후 부분합 최적화) |
| 019 | K번째 수 구하기 (11004) | 1. K번째수 2. Kth Largest Element in an Array |
프로그래머스 LeetCode |
100% 100% |
정렬 (Quick Select/Heap 탐색) |
| 020 | 수 정렬하기 2 (2751) | 1. H-Index 2. Sort an Array |
프로그래머스 LeetCode |
80% 100% |
정렬 ( |
| 021 | 버블 정렬 프로그램 2 (1517) | 1. 명예의 전당 (1) 2. Reverse Pairs |
프로그래머스 LeetCode |
65% 95% |
정렬 (Inversion Count 로직) |
| 022 | 수 정렬하기 3 (10989) | 1. 숫자 게임 2. Sort Colors |
프로그래머스 LeetCode |
70% 95% |
정렬 (Counting Sort 원리) |
| 023 | 연결 요소의 개수 구하기 (11724) | 1. 네트워크 2. Number of Islands |
프로그래머스 LeetCode |
100% 95% |
탐색 (DFS/BFS 그룹핑) |
| 024 | 신기한 소수 찾기(2023) | 1. 소수 찾기 2. Prime Palindrome |
프로그래머스 LeetCode |
85% 85% |
탐색 (DFS & 백트래킹) |
| 025 | 친구 관계 파악하기 (13023) | 1. 타겟 넘버 2. All Paths From Source to Target |
프로그래머스 LeetCode |
70% 85% |
탐색 (DFS 깊이 탐색) |
| 026 | N과 M (15649) | 1. 피로도 2. Permutations |
프로그래머스 LeetCode |
80% 100% |
백트래킹 (순열 생성) |
| 027 | N-Queen 배치하기 (9663) | 1. N-Queen 2. N-Queens |
프로그래머스 LeetCode |
100% 100% |
백트래킹 (가지치기) |
| 028 | 색종이 붙이기 (17136) | 1. 하노이의 탑 2. Tiling a Rectangle |
프로그래머스 LeetCode |
70% 90% |
백트래킹 (상태 탐색) |
| 029 | DFS와 BFS 프로그램 (1260) | 1. 타겟 넘버 2. Clone Graph |
프로그래머스 LeetCode |
85% 80% |
탐색 (DFS/BFS 기본) |
| 030 | 미로 탐색하기 (2178) | 1. 게임 맵 최단거리 2. Shortest Path in Binary Matrix |
프로그래머스 LeetCode |
100% 95% |
탐색 (BFS 최단거리) |
| 031 | 트리의 지름 구하기 (1167) | 1. 가장 먼 노드 2. Diameter of Binary Tree |
프로그래머스 LeetCode |
80% 90% |
탐색 (Tree Traversal) |
| 032 | 원하는 정수 찾기 (1920) | 1. H-Index 2. Binary Search |
프로그래머스 LeetCode |
70% 100% |
탐색 (Binary Search) |
| 033 | 블루레이 만들기 (2343) | 1. 입국심사 2. Capacity To Ship Packages |
프로그래머스 LeetCode |
85% 100% |
탐색 (Parametric Search) |
| 034 | 배열에서 K번째 수 찾기 (1300) | 1. 입국심사 2. Kth Smallest Number in Multiplication Table |
프로그래머스 LeetCode |
80% 100% |
탐색 (이진 탐색 응용) |
| 035 | 동전 개수의 최솟값 구하기 (11047) | 1. 거스름돈 2. Lemonade Change |
프로그래머스 LeetCode |
80% 85% |
그리디 (최적 부분 구조) |
| 036 | 카드 정렬하기 (1715) | 1. 더 맵게 2. Minimum Cost to Connect Sticks |
프로그래머스 LeetCode |
90% 100% |
그리디 (우선순위 큐) |
| 037 | 수를 묶어서 최댓값 만들기 (1744) | 1. 구명보트 2. Maximize Sum After K Negations |
프로그래머스 LeetCode |
75% 85% |
그리디 (양수/음수 분류 정렬) |
| 038 | 회의실 배정하기 (1931) | 1. 요항 미사일 2. Non-overlapping Intervals |
프로그래머스 LeetCode |
90% 95% |
그리디 (활동 선택 문제) |
| 039 | 최솟값을 만드는 괄호 배치 찾기 (1541) | 1. 최적의 행렬 곱셈 2. Minimize Result by Parentheses |
프로그래머스 LeetCode |
70% 85% |
그리디 (문자열 파싱) |
| 040 | 소수 구하기 (1929) | 1. 소수 찾기 2. Count Primes |
프로그래머스 LeetCode |
100% 100% |
정수론 (에라토스테네스의 체) |
| 041 | 거의 소수 구하기 (1456) | 1. 소수 찾기 2. Closest Prime Numbers in Range |
프로그래머스 LeetCode |
80% 85% |
정수론 (체 응용/거듭제곱) |
| 042 | 소수&팰린드롬 수 중에서 최솟값 찾기 (1747) | 1. 가장 긴 팰린드롬 2. Prime Palindrome |
프로그래머스 LeetCode |
75% 100% |
정수론 (체 + 팰린드롬 검사) |
| 043 | 제곱이 아닌 수 (1016) | 1. 멀리 뛰기 2. Smallest Missing Genetic Value |
프로그래머스 LeetCode |
60% 70% |
정수론 (체 활용/포함배제) |
| 044 | 오일러 피 함수 구현하기 (11689) | 1. 소수 찾기 2. Count Primes |
프로그래머스 LeetCode |
70% 80% |
정수론 (오일러 피) |
| 045 | 최소 공배수 (1934) | 1. N개의 최소공배수 2. Smallest Even Multiple |
프로그래머스 LeetCode |
95% 95% |
정수론 (최소 공배수) |
| 046 | 최대 공약수 (1850) | 1. 분수의 덧셈 2. Greatest Common Divisor of Strings |
프로그래머스 LeetCode |
85% 95% |
정수론 (최대 공약수) |
| 047 | 칵테일 만들기 (1033) | 1. N개의 최소공배수 2. Evaluate Division |
프로그래머스 LeetCode |
75% 85% |
정수론 (GCD/LCM 응용) |
| 048 | Ax + By = C (21568) | 1. 하노이의 탑 2. Water and Jug Problem |
프로그래머스 LeetCode |
60% 90% |
정수론 (확장 유클리드 호제법) |
| 049 | 특정 거리의 도시 찾기 (18352) | 1. 게임 맵 최단거리 2. Shortest Path in Binary Matrix |
프로그래머스 LeetCode |
90% 95% |
그래프 (BFS) |
| 050 | 효율적으로 해킹하기 (1325) | 1. 네트워크 2. Keys and Rooms |
프로그래머스 LeetCode |
85% 90% |
그래프 (DFS/BFS) |
| 051 | 이분 그래프 판별하기 (1707) | 1. 가장 먼 노드 2. Is Graph Bipartite? |
프로그래머스 LeetCode |
80% 100% |
그래프 (이분 그래프) |
| 052 | 물의 양 구하기 (2251) | 1. 보석 쇼핑 2. Water and Jug Problem |
프로그래머스 LeetCode |
70% 95% |
그래프 (BFS) |
| 053 | 집합의 표현하기 (1717) | 1. 네트워크 2. Satisfiability of Equality Equations |
프로그래머스 LeetCode |
90% 95% |
그래프 (유니온 파인드) |
| 054 | 여행 계획 짜기 (1976) | 1. 네트워크 2. Find if Path Exists in Graph |
프로그래머스 LeetCode |
95% 95% |
그래프 (유니온 파인드) |
| 055 | 거짓말쟁이가 되긴 싫어 (1043) | 1. 무지의 먹방 라이브 2. Satisfiability of Equality Equations |
프로그래머스 LeetCode |
70% 90% |
그래프 (유니온 파인드) |
| 056 | 줄 세우기 (2252) | 1. 수식 최대화 2. Course Schedule II |
프로그래머스 LeetCode |
70% 100% |
그래프 (위상 정렬) |
| 057 | 게임 개발 하기 (1516) | 1. 수식 최대화 2. Parallel Courses III |
프로그래머스 LeetCode |
70% 99% |
그래프 (위상 정렬) |
| 058 | 임계 경로 구하기 (1948) | 1. 가장 먼 노드 2. Parallel Courses III |
프로그래머스 LeetCode |
75% 90% |
그래프 (위상 정렬) |
| 059 | 최단 경로 구하기 (1753) | 1. 배달 2. Network Delay Time |
프로그래머스 LeetCode |
95% 100% |
그래프 (다익스트라) |
| 060 | 최소비용 구하기 (1916) | 1. 배달 2. Path With Minimum Effort |
프로그래머스 LeetCode |
95% 95% |
그래프 (다익스트라) |
| 061 | K번째 최단경로 찾기 (1854) | 1. 배달 2. Cheapest Flights Within K Stops |
프로그래머스 LeetCode |
80% 85% |
그래프 (다익스트라) |
| 062 | 타임머신으로 빨리 가기 (11657) | 1. 배달 2. Network Delay Time |
프로그래머스 LeetCode |
75% 80% |
그래프 (벨만-포드) |
| 063 | 오민식의 고민 (1219) | 1. 배달 2. Cheapest Flights Within K Stops |
프로그래머스 LeetCode |
70% 80% |
그래프 (벨만-포드) |
| 064 | 가장 빠른 버스 노선 구하기(11404) | 1. 순위 2. City with Smallest Neighbors |
프로그래머스 LeetCode |
90% 100% |
그래프 (플로이드-워셜) |
| 065 | 경로 찾기 (11403) | 1. 순위 2. Detonate the Maximum Bombs |
프로그래머스 LeetCode |
85% 90% |
그래프 (플로이드-워셜) |
| 066 | 케빈 베이컨의 6단계 법칙 (1389) | 1. 가장 먼 노드 2. Shortest Path in Binary Matrix |
프로그래머스 LeetCode |
85% 95% |
그래프 (플로이드-워셜) |
| 067 | 최소 신장 트리 구하기 (1197) | 1. 섬 연결하기 2. Min Cost to Connect All Points |
프로그래머스 LeetCode |
95% 100% |
그래프 (최소 신장 트리) |
| 068 | 다리 만들기 2 (17472) | 1. 섬 연결하기 2. Min Cost to Connect All Points |
프로그래머스 LeetCode |
90% 85% |
그래프 (MST + BFS) |
| 069 | 불우이웃돕기 (1414) | 1. 섬 연결하기 2. Min Cost to Connect All Points |
프로그래머스 LeetCode |
90% 90% |
그래프 (최소 신장 트리) |
| 070 | 트리의 부모 찾기 (11725) | 1. 길 찾기 게임 2. Validate Binary Tree Nodes |
프로그래머스 LeetCode |
75% 85% |
트리 (순회 기초) |
| 071 | 리프 노드의 개수 구하기 (1068) | 1. 길 찾기 게임 2. Delete Leaves With a Given Value |
프로그래머스 LeetCode |
70% 85% |
트리 (삭제 및 탐색) |
| 072 | 문자열 찾기 (14425) | 1. 전화번호 목록 2. Implement Trie (Prefix Tree) |
프로그래머스 LeetCode |
85% 100% |
트리 (트라이) |
| 073 | 트리 순회 하기 (1991) | 1. 길 찾기 게임 2. Binary Tree Preorder Traversal |
프로그래머스 LeetCode |
85% 100% |
트리 (전위/중위/후위) |
| 074 | 구간 합 구하기 3 (2042) | 1. 연속된 부분 수열의 합 2. Range Sum Query - Mutable |
프로그래머스 LeetCode |
70% 100% |
트리 (세그먼트 트리) |
| 075 | 최솟값 찾기 2 (10868) | 1. 최댓값과 최솟값 2. Range Sum Query - Mutable |
프로그래머스 LeetCode |
65% 90% |
트리 (세그먼트 트리) |
| 076 | 구간 곱 구하기 (11505) | 1. 최솟값 만들기 2. Range Sum Query - Mutable |
프로그래머스 LeetCode |
60% 85% |
트리 (세그먼트 트리) |
| 077 | 최소 공통 조상 구하기 1 (11437) | 1. 길 찾기 게임 2. Lowest Common Ancestor of a Binary Tree |
프로그래머스 LeetCode |
80% 95% |
트리 (최소 공통 조상) |
| 078 | 최소 공통 조상 구하기 2 (11438) | 1. 길 찾기 게임 2. Kth Ancestor of a Tree Node |
프로그래머스 LeetCode |
75% 95% |
트리 (최소 공통 조상) |
| 079 | 이항 계수 구하기 1 (11050) | 1. N으로 만들기 2. Combinations |
프로그래머스 LeetCode |
65% 95% |
조합론 (이항 계수) |
| 080 | 이항 계수 구하기 2 (11051) | 1. 멀리 뛰기 2. Pascal's Triangle |
프로그래머스 LeetCode |
70% 90% |
조합론 (이항 계수) |
| 081 | 부녀회장이 될테야 (2775) | 1. 멀리 뛰기 2. Pascal's Triangle |
프로그래머스 LeetCode |
80% 100% |
조합론 (파스칼의 삼각형) |
| 082 | 다리 놓기 (1010) | 1. 징검다리 2. Combinations |
프로그래머스 LeetCode |
60% 95% |
조합론 (조합 기초) |
| 083 | 조약돌 꺼내기 (13251) | 1. 타겟 넘버 2. Probability of Two Boxes Same Balls |
프로그래머스 LeetCode |
60% 80% |
조합론 (확률과 조합) |
| 084 | 순열의 순서 구하기 (1722) | 1. 줄 세우는 방법 2. Permutation Sequence |
프로그래머스 LeetCode |
100% 100% |
조합론 (순열 카운팅) |
| 085 | 사전 찾기 (1256) | 1. 단어 변환 2. Kth Smallest Instructions |
프로그래머스 LeetCode |
60% 95% |
조합론 (사전식 배열) |
| 086 | 선물 전달 하기 (1947) | 1. 멀리 뛰기 2. Climbing Stairs |
프로그래머스 LeetCode |
75% 70% |
조합론 (완전 순열) |
| 087 | 정수를 1로 만들기 (1463) | 1. 정수 삼각형 2. Integer Break |
프로그래머스 LeetCode |
70% 85% |
DP (Memoization) |
| 088 | 퇴사 준비하기 (14501) | 1. 도둑질 2. House Robber |
프로그래머스 LeetCode |
85% 85% |
DP (점화식 최적화) |
| 089 | 이친수 구하기 (2193) | 1. 멀리 뛰기 2. Fibonacci Number |
프로그래머스 LeetCode |
95% 95% |
DP (피보나치 응용) |
| 090 | 2*N 타일 채우기 (11726) | 1. 2 x n 타일링 2. Domino and Tromino Tiling |
프로그래머스 LeetCode |
100% 85% |
DP (타일링 점화식) |
| 091 | 계단 수 구하기 (10844) | 1. 정수 삼각형 2. Knight Dialer |
프로그래머스 LeetCode |
70% 85% |
DP (상태 전위) |
| 092 | 연속된 정수의 합 구하기 (13398) | 1. 연속 부분 수열 합의 개수 2. Maximum Subarray Sum with One Deletion |
프로그래머스 LeetCode |
75% 100% |
DP (카데인 응용) |
| 093 | 최장 공통 부분 수열 찾기 (9251) | 1. 최적의 행렬 곱셈 2. Longest Common Subsequence |
프로그래머스 LeetCode |
70% 100% |
DP (LCS) |
| 094 | 가장 큰 정사각형 찾기 (1915) | 1. 가장 큰 정사각형 찾기 2. Maximal Square |
프로그래머스 LeetCode |
100% 100% |
DP (공간 최적화) |
| 095 | 빌딩 순서 정하기 (1328) | 1. 징검다리 건너기 2. Number of Ways to Rearrange Sticks |
프로그래머스 LeetCode |
65% 95% |
DP (조합론적 DP) |
| 096 | LCS 2 구하기 (9252) | 1. 최적의 행렬 곱셈 2. Shortest Common Supersequence |
프로그래머스 LeetCode |
65% 95% |
DP (LCS 역추적) |
| 097 | 가장 긴 증가하는 부분 수열 찾기 (11053) | 1. 가장 긴 팰린드롬 2. Longest Increasing Subsequence |
프로그래머스 LeetCode |
70% 100% |
DP (LIS 알고리즘) |
| 098 | 외판원 순회 경로 짜기(2098) | 1. 순위 2. Shortest Path Visiting All Nodes |
프로그래머스 LeetCode |
65% 95% |
DP (비트마스킹 TSP) |
| 099 | DDR을 해보자 (2342) | 1. 스티커 모으기(2) 2. Paint House III |
프로그래머스 LeetCode |
65% 90% |
DP (다차원 상태 전이) |
| 100 | 선분 방향 구하기 (11758) | 1. 삼각형의 완성조건 (2) 2. Erect the Fence |
프로그래머스 LeetCode |
60% 90% |
기하 (방향 판별) |
| 101 | 선분의 교차 여부 구하기 (17387) | 1. 방의 개수 2. Check if two line segments intersect |
프로그래머스 LeetCode |
80% 95% |
기하 (CCW 심화) |
| 102 | 선분을 그룹으로 나누기 (2162) | 1. 네트워크 2. Number of Provinces |
프로그래머스 LeetCode |
85% 90% |
기하 + 유니온 파인드 |
| 103 | 다각형의 넓이 (2166) | 1. 삼각형의 완성조건 (2) 2. Largest Triangle Area |
프로그래머스 LeetCode |
60% 85% |
기하 (신발끈 공식) |