2xn 직사각형을 1x2, 2x1, 2x2타일로 채우는 방법의 수를 구하자
n개의 정수로 이루어진 임의의 수열이 주어질 때, 연속된 한 개 이상의 수를 선택하는 경우 구할 수 있는 합 중 가장 큰 합을 구하자
n가지 종류가 주어질 때 k원을 만드는 경우의 수를 구하자
n개의 포도주 잔이 있을 때 다음 조건에 만족하도록 포도주를 선택해 마시는 경우 최대로 마실 수 있는 포도주의 양을 구하자
구매하려고 하는 카드 개수 N이 주어질 때 카드를 한 번에 n(1 ≤ n ≤ N)장 사는 가격이 주어지는 경우 카드 N장을 가장 비싸게 주고 사는 가격을 구하자
수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하자
주어지는 동전 N종류를 활용해서 K를 만드는 데 필요한 최소 동전 개수를 구하자
한 개의 회의실을 사용하고자 하는 N개의 회의에 대하여 각 회의에 대해 시작시간과 끝나는 시간이 주어져 있을 때, 각 회의가 겹치지 않게 회의실을 사용할 수 있는 회의의 최대 개수를 구하자
N개의 로프와 각 로프가 들 수 있는 중량이 주어지고, 그 중 일부만 선택해서 병렬로 연결하면 각 로프에 중량/로프 개수 만큼 무게가 고르게 걸리게 될 때, 들 수 있는 중량의 최대를 구하자
두 종류의 부등호 ‘<’, ‘>’가 N개 주어질 때 이 부등호 기호 앞 뒤에 서로 다른 한 자릿 수 숫자를 넣어 모든 부등호 관계를 만족시키는 최대값, 최소값을 각각 구하자
N개의 나무 줄지어 있을 때 적어도 M의 나무를 얻을 수 있게 자르는 최대한의 높이를 구하자
K개의 랜선으로 동일한 길이의 N개의 랜선을 만들 때 최대 랜선의 길이를 구하자
달팽이가 낮에 A미터 올라갈 수 있고 밤에 B미터 미끄러져 내려올 때 V미터까지 올라가려면 며칠이 걸리는지 구하자
각 지방의 예산 요청 금액을 정해진 총액 이하에서 가능한 한 최대의 예산으로 배정할 때 배정된 예산들 중 최댓값을 구하자
집 N개가 있을 때 공유기를 C개 설치하려고 하는 경우 가장 가까운 두 공유기 사이의 거리를 최대로 하는 경우 최대 거리를 구하자
각각 최소 힙, 최대 힙, 절댓값 힙을 구현해서 입력받은 x가 자연수인 경우 힙에 삽입하고 0인 경우 힙에서 삭제 후 출력하는 연산을 구현하자
각각 A, B장으로 구성된 두 카드 묶음을 정렬 하는 데 A+B번의 비교 횟수가 필요 한 경우 N 묶음의 카드 묶음을 정렬하는데 필요한 최소 비교 횟수를 구하자
숫자 N개가 하나씩 주어질 때마다 그 수를 포함하여 지금까지의 중간 값을 출력하자
보석의 가격과 무게가 보석의 개수 N개 만큼 주어지고, 하나의 가방이 담을 수 있는 무게가 가방의 개수 K개 만큼 주어질 때 하나의 가방에는 하나의 보석을 넣을 수 있는 경우 가방에 담을 수 있는 보석 가격의 최대값을 구하자
M명의 학생들이 범위 (a, b) (1 ≤ $a_i$ ≤ $b_i$ ≤ N)를 정할 때 책 번호가 a 이상 b 이하인 책 중 남아있는 책 한권을 학생에게 주는 경우 책을 줄 수 있는 최대 학생 수를 구하자
N개의 도시에 있는 주유소의 기름 가격이 다르고 1리터에 거리 1을 갈 수 있다고 할 때 각 도시 사이의 거리가 주어지는 경우 제일 왼쪽 도시에서 제일 오른쪽 도시로 가는 최소 비용을 계산하자
N개의 주유소 정보가 주어질 때 현재 연료 P로 주유소를 최소로 들려서 목적지 L까지 가는 경우의 주유소 방문 횟수를 구하자
가지고 있는 K개의 수 각각을 최소 한 번씩 사용하여 N개의 수를 뽑을 때 이 수들을 붙여서 만들 수 있는 가장 큰 수를 구하자
전화번호부에 있는 특정 수가 다른 수의 prefix에 해당하는 경우가 존재하는지 판단하자
스파이가 가지고 있는 서로 다른 종류의 옷의 조합 수를 구하자. 이때 최소 하나의 옷을 입는다.
스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아서 베스트 앨범을 출시하려 할 때 주어진 기준에 맞춰서 노래를 수록하자
다리가 weight 이하의 무게를 버틸 수 있을 때, 트럭 여러대가 모두 다리를 건너려면 최소 몇 초가 걸리는지 구하자
초 단위로 기록된 주식가격이 주어질 때, 각 초마다 가격이 떨어지지 않은 기간은 몇 초인지를 구하자
각 작업에 대해 작업 요청 시점, 작업 소요 시간을 담은 2차원 배열이 주어질 때, 작업의 요청으로부터 종료까지 걸린 시간의 평균을 가장 줄이는 방법으로 처리하면 평균이 얼마가 되는지 구하자
h번 이상 피인용된 논문이 h개인 경우 저자의 H-Index는 h일 때 H-Index를 구하자
주어진 숫자를 삽입하는 연산, 큐에서 최댓값을 삭제하는 연산, 큐에서 최솟값을 삭제하는 연산을 할 수 있는 이중 우선순위 큐를 구현해보자
던전의 정보가 입장 최소 피로도, 소요 피로도로 주어질 때, 클리어 가능한 던전의 수를 구하자
어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하자
한 번에 최대 2명씩 옮길 수 있고 무게 제한이 있는 구명 보트를 활용해 사람들을 구출하려 할 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 구하자
격자의 크기 m,n과 물이 잠긴 지역의 좌표를 담은 2차원 배열이 주어질 때 물에 잠긴 지역은 갈 수 없는 경우 집이 있는 좌표 (1, 1)에서 학교가 있는 좌표 (m, n) 까지 갈 수 있는 최단경로의 개수를 구하자
여러 직사각형이 모두 겹쳐서 좌표 상에 주어질 때 최종적으로 겹쳐진 도형의 테두리가 캐릭터의 이동 경로인 경우, 캐릭터의 위치에서 아이템의 위치까지 가는 가장 짧은 거리를 구하자
LCS(Longest Common Subsequence, 최장 공통 부분 수열) 문제는 두 수열일 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 두 문자열이 주어졌을 때 LCS의 길이와 LCS 문자열을 출력하자
자연수 N, K가 주어질 때 이항 계수 (N, K)를 구하자
흑백 영상을 압축하여 표현하는 쿼드 트리(Quad Tree)를 활용해 영상을 압축한 결과를 출력하자
1번, 2번, 3번 봉이 있는 하노이 탑에서 1번봉에 위치한 N개의 원판을 3번봉의 위치로 옮기기 위한 최소 횟수와 이때의 경로를 출력하자
실수 a와 정수 b가 주어졌을 때, a의 b제곱을 정확하게 계산하는 프로그램을 작성하는 문제이다.
2차원 평면상에 n개의 점이 주어졌을 때, 이 점들 중 가장 가까운 두 점을 구하면 되는 문제.
[우선순위 큐, 구현] 이중 우선순위 큐를 구현해야 한다.
[문자열, 정렬, 구현] 전화번호 목록에 있는 여러 전화번호 중, 전화번호 A가 전화번호 B의 접두어인 경우가 없는지 판별하는 문제
[소수, 구현] 양의 정수 n이 주어지고, 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 구하는 문제
[수학, 구현] 최고의 집합을 구해보자.
[그래프 탐색, BFS/DFS] 주어진 컴퓨터들로 연결된 네트워크의 개수를 구해보자.
[문자열, 구현] 주어진 LZW 압축 조건대로 문자열을 압축하여 출력하는 문제.
[구현] 야근 피로도를 최소화해보자.
[백트래킹] 왜 퀸 갖고 이럴까...
[백트래킹] 나도 암호 전문가!
[BFS, 시뮬레이션] 이번엔 로봇 청소기가 되어보자.
[구현, 시뮬레이션] 뱀 게임이 끝나는 시간을 알아보자.
[구현, 문자열] Wls들의 유쾌한 게임을 도와주자
[구현, 문자열] Wls들의 유쾌한 게임을 도와주자
[해시, 구현] 주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 때, 조건에 따라 차량별로 주차 요금을 계산하면 되는 문제
[시뮬레이션] 이것이 쌤성의 빡구현이다. -절망 편-
[다익스트라, 파라메트릭 서치] 다익스트라 알고리즘과 파라메트릭 서치의 조합! 최단 경로 문제를 최적화 문제로 풀이해보자.
[위상정렬, DP] 세준이는 얼마나 좋았을까?
[구현, 수학] 문제적 남자 참가 신청하겠습니다.
[구현, 시뮬레이션] 이번엔 미세먼지를 정화해보자.
[그래프 탐색, BFS] 불쌍한 고슴도치를 구해주자.
[DFS, 백트래킹] 요새 이상한 게임이 많은 것 같습니다.
[DP] 이게 타일 채우기 문제 중 3번째로 쉬운 문제라는 거지..?
[백트래킹, 해시] 딕셔너리를 활용한 효율적인 백트래킹을 알려드릴게요!
[DFS, DP] 그래프 탐색에서 수의 범위가 버거울 때 DP를 활용하는 방법을 알려드릴게요.
[시뮬레이션, BFS] 애니팡만 없었어도 코테 문제가 절반으로 줄었겠지?
[MST, Prim] 황선자씨와 MST를 만들어봅시다. 두 지점 사이의 거리가 0이어도 무조건 MST에 포함하는 게 정답일까요?
[그래프 탐색, 다익스트라] 임의의 두 정점 위의 로봇이 서로 연결될 수 있도록 각 로봇이 이동하는 최단 거리를 구하는 방법을 알려드립니다!
[백트래킹] 백트래킹에서 중복 제거를 위해 Set을 활용하는 방법을 알려드립니다.
[DFS, DP] 단순 그래프 탐색 문제라고 생각된다면 항상 조심해야 합니다!
[string, stack] 방법이 떠오르지 않을 때에는 수의 범위가 힌트가 될 수 있습니다.
외판원 순회 문제 computer science 분야에서 가장 중요하게 취급되는 문제 중 하나입니다. 이 문제를 비트마스킹을 활용한 다이나믹 프로그래밍으로 완전 탐색보다 효과적으로 푸는 방법을 알려드립니다!
[DP] 기본 DP를 응용하는 문제에서 DP 테이블을 다차원으로 설계해보는 게 도움이 될 수 있습니다.
[구현] 새로운 알고리즘 스터디 시작! 문제에서 복잡한 그래프가 주어졌다고 해서 어렵게 다가갈 필요는 없습니다.
[완전탐색, 이진탐색] 완전 탐색 속 작은 디테일의 중요성을 알려드립니다.
[완전탐색, 그래프 탐색(BFS/DFS)] 쉽게 접근할 수 있는 문제일 수록, 효율성에 유의해야 합니다.
[구현, 시뮬레이션] 시간을 들여 문제의 조건을 잘 파악하는 것의 중요성을 깨닫고 싶으시면, 이 문제를 풀면 됩니다.
[DP] 타일링 문제에서 조건에 따라 case를 분할하는 과정에 대해서 차근차근 알아봅시다.