설치 없이 브라우저에서 바로 채점
문제 전체
24주 커리큘럼 순서로 정렬돼 있어요. 개념부터 익히려면 주차별로 보는 게 좋아요. JavaScript와 Python 코드는 브라우저 안에서 바로 실행하고 채점해요.진행률0 / 96
- 01몫과 나머지정수 나눗셈의 몫과 나머지를 두 언어에서 같은 규칙으로 구해요.1주차수학구현쉬움
- 02FizzBuzz1부터 n까지를 규칙에 따라 문자열로 바꿔 나열해요.1주차구현반복문쉬움
- 03최솟값과 최댓값한 번의 순회로 두 값을 함께 구해 배열로 반환해요.1주차배열구현쉬움
- 04약수 구하기n의 약수를 모두 찾되, 제곱근까지만 훑어 O(√n)에 끝내요.1주차수학복잡도보통
- 05배열의 합과 최댓값배열을 한 번 훑어 합과 최댓값을 함께 구해요.2주차배열구현쉬움
- 06행의 합이 가장 큰 줄2차원 배열을 행 단위로 훑어 합이 가장 큰 행의 번호를 찾아요.2주차배열구현쉬움
- 07구간 합 구하기질문이 많을 때, 미리 한 번 계산해두고 각 질문에 O(1)로 답해요.2주차누적합배열보통
- 08구간에 값 더하기구간 갱신을 양끝 두 칸에만 기록해두고, 마지막에 한 번에 펼쳐요.2주차누적합배열보통
- 09문자열 뒤집기문자열을 거꾸로 뒤집어 반환해요.3주차문자열구현쉬움
- 10팰린드롬 검사영숫자만 남기고 대소문자를 무시했을 때 앞뒤가 같은지 판정해요.3주차문자열투포인터쉬움
- 11애너그램 판별두 문자열이 같은 문자로 이루어져 있는지 판정해요.3주차문자열해시정렬쉬움
- 12문자열 압축같은 문자가 이어지는 구간을 '문자 + 개수'로 줄여요.3주차문자열구현보통
- 13세 수의 합서로 다른 세 수를 골라 m을 넘지 않는 가장 큰 합을 만들어요.4주차완전탐색배열쉬움
- 14부분집합의 합비트마스크로 2ⁿ개의 부분집합을 빠짐없이 훑어요.4주차완전탐색비트마스크보통
- 15행렬 90도 회전n×n 행렬을 시계 방향으로 90도 돌려요.4주차배열구현보통
- 16로봇 시뮬레이션방향과 위치를 상태로 들고 명령을 하나씩 실행해요.4주차시뮬레이션구현어려움
- 17중복 원소 찾기앞에서부터 훑으며 처음으로 다시 나온 값을 찾아요.5주차해시배열쉬움
- 18가장 많이 등장한 문자빈도수 맵을 만든 뒤 가장 큰 값을 가진 키를 뽑아요.5주차해시문자열보통
- 19두 수의 합더해서 target이 되는 두 원소의 인덱스를 찾아요.5주차해시배열쉬움
- 20가장 긴 연속 수열정렬하지 않고 셋만으로 가장 긴 연속 구간의 길이를 구해요.5주차해시배열어려움
- 21완주하지 못한 선수참가자 명단에서 완주자 명단을 빼고 한 명을 남겨요.6주차해시문자열보통
- 22카펫 만들기테두리와 안쪽 격자 수만 보고 카펫의 가로세로를 되찾아요.6주차완전탐색수학보통
- 23나선형 순회행렬을 바깥에서 안으로 시계 방향으로 감아 읽어요.6주차시뮬레이션배열보통
- 24영단어를 숫자로 바꾸기숫자와 영단어가 섞인 문자열을 정수로 되돌려요.6주차문자열구현보통
- 25다중 기준 정렬여러 기준을 순서대로 적용해 사람 목록을 정렬해요.7주차정렬구현쉬움
- 26K번째 큰 수정렬한 뒤 인덱스로 K번째 큰 값을 얻어요.7주차정렬보통
- 27좌표 압축각 값을 정렬 순위로 바꿔 값의 범위를 줄여요.7주차정렬해시보통
- 28애너그램 묶기같은 글자로 이루어진 단어끼리 묶어요.7주차해시문자열정렬보통
- 29정렬된 배열의 두 수의 합오름차순 배열에서 합이 target인 두 수의 인덱스를 양끝 포인터로 찾아요.8주차투 포인터배열쉬움
- 30정렬된 배열 중복 제거정렬된 배열에서 중복을 제거해 서로 다른 값만 순서대로 남겨요.8주차투 포인터배열보통
- 31가장 큰 연속 부분 수열의 합연속한 부분 수열 중 합이 가장 큰 값을 구해요.8주차DP배열보통
- 32중복 없는 가장 긴 부분 문자열같은 문자가 두 번 나오지 않는 가장 긴 연속 구간의 길이를 구해요.8주차슬라이딩윈도우해시문자열보통
- 33거스름돈 최소 동전 (배수 화폐)큰 단위가 작은 단위의 배수인 화폐에서 최소 동전 개수를 구해요.9주차그리디쉬움
- 34회의실 배정회의실 하나에 겹치지 않게 배정할 수 있는 최대 회의 수를 구해요.9주차그리디정렬보통
- 35구명보트한 보트에 최대 두 명, 무게 합 제한 아래에서 필요한 최소 보트 수를 구해요.9주차그리디투 포인터정렬보통
- 36거스름돈주어진 동전으로 금액을 만드는 데 필요한 최소 개수를 구해요.9주차DP보통
- 37올바른 괄호괄호 문자열이 올바르게 짝지어졌는지 판별해요.10주차스택문자열쉬움
- 38최근 K개의 이동 평균값이 들어올 때마다 최근 K개의 평균을 구해요.10주차큐덱보통
- 39후위 표기식 계산후위 표기식을 스택으로 계산해요.10주차스택보통
- 40다음 큰 원소각 원소의 오른쪽에서 처음으로 자기보다 큰 값을 찾아요.10주차스택단조 스택어려움
- 41이진 탐색정렬된 배열에서 target의 인덱스를 O(log n)에 찾아요.11주차이진탐색배열쉬움
- 42삽입 위치 찾기정렬된 배열에서 target이 들어갈 자리를 이분 탐색으로 찾아요.11주차이분 탐색보통
- 43회전된 정렬 배열에서 검색한 번 회전된 정렬 배열에서 target의 위치를 O(log n)에 찾아요.11주차이분 탐색보통
- 44랜선 자르기N개 이상을 만들 수 있는 랜선의 최대 길이를 답의 범위에서 이분 탐색해요.11주차이분 탐색파라메트릭 서치어려움
- 45회의 시간 겹침 판정회의들 중 시간이 겹치는 쌍이 하나라도 있는지 판정해요.12주차정렬보통
- 46합이 target인 최단 구간합이 정확히 target인 가장 짧은 연속 구간의 길이를 구해요.12주차슬라이딩 윈도우투 포인터보통
- 47체육복 나눠주기여벌 체육복을 이웃에게 빌려줘 체육 수업을 듣는 학생 수를 최대로 만들어요.12주차그리디보통
- 48예산 배정총예산을 넘지 않는 선에서 요청 금액에 적용할 상한액을 최대로 정해요.12주차이분 탐색파라메트릭 서치보통
- 49재귀 피보나치와 메모이제이션한 번 구한 값을 저장해 재귀 피보나치를 빠르게 만들어요.13주차재귀메모이제이션쉬움
- 50거듭제곱 빠르게지수를 절반씩 줄여 거듭제곱을 O(log n)에 구해요.13주차분할 정복수학보통
- 51병합 정렬 직접 구현배열을 반씩 나눠 정렬한 뒤 합치는 병합 정렬을 직접 구현해요.13주차분할 정복정렬보통
- 52하노이 탑원판 n개를 옮기는 최소 이동 순서를 재귀로 만들어요.13주차재귀어려움
- 53트리의 최대 깊이루트에서 가장 먼 잎까지의 노드 수를 구해요.14주차트리DFS재귀쉬움
- 54중위 순회이진 트리를 왼쪽 → 자기 자신 → 오른쪽 순서로 방문해요.14주차트리DFS재귀쉬움
- 55트리 뒤집기모든 노드의 왼쪽과 오른쪽 자식을 맞바꿔 좌우 대칭으로 만들어요.14주차트리DFS재귀보통
- 56이진 탐색 트리 유효성 검사주어진 이진 트리가 이진 탐색 트리 조건을 지키는지 판별해요.14주차트리DFS재귀보통
- 57경로 존재 판별두 정점 사이에 길이 있는지 그래프를 탐색해 판정해요.15주차그래프DFS쉬움
- 58연결 요소의 개수그래프가 몇 개의 덩어리로 나뉘어 있는지 세요.15주차그래프DFSBFS보통
- 59섬의 개수2차원 격자에서 상하좌우로 이어진 땅 덩어리의 수를 세요.15주차그래프BFS/DFS보통
- 60이분 그래프 판별정점을 두 색으로 칠해 이웃끼리 색이 다르게 만들 수 있는지 판정해요.15주차그래프BFSDFS어려움
- 61미로 최단 거리격자 미로에서 좌상단부터 우하단까지 지나는 최소 칸 수를 BFS로 구해요.16주차BFS그래프쉬움
- 62토마토 익히기익은 토마토가 사방으로 퍼져 모두 익는 데 걸리는 최소 일수를 구해요.16주차BFS그래프보통
- 63단어 변환한 글자씩 바꿔 단어를 목표로 바꾸는 최소 변환 횟수를 구해요.16주차BFS그래프보통
- 64벽 부수고 이동하기벽을 한 번 부술 수 있을 때 좌상단부터 우하단까지 최소 칸 수를 구해요.16주차BFS그래프어려움
- 65부분집합 모두 구하기서로 다른 수들의 모든 부분집합을 백트래킹으로 만들어요.17주차백트래킹보통
- 66순열 생성서로 다른 수들로 만들 수 있는 모든 순서(순열)를 만들어요.17주차백트래킹보통
- 67합이 target인 조합서로 다른 수 중 몇 개를 골라 합이 target이 되는 모든 조합을 찾아요.17주차백트래킹어려움
- 68N-Queen서로 공격하지 않게 퀸 N개를 놓는 방법의 수를 세요.17주차백트래킹어려움
- 69최소 힙 직접 구현push · pop · peek 연산을 처리하는 최소 힙을 직접 만들어요.18주차힙자료구조보통
- 70가장 많이 등장한 K개 원소배열에서 등장 횟수가 가장 많은 k개의 원소를 구해요.18주차해시정렬힙보통
- 71K개 정렬 리스트 병합이미 정렬된 여러 리스트를 하나의 정렬된 리스트로 합쳐요.18주차힙보통
- 72스트림 중앙값값이 하나씩 들어올 때마다 지금까지의 중앙값을 구해요.18주차힙어려움
- 73계단 오르기한 번에 1칸 또는 2칸씩 올라 n번째 계단에 도달하는 경우의 수를 세요.19주차DP쉬움
- 74도둑질이웃한 집을 연달아 털 수 없을 때 훔칠 수 있는 최대 금액을 구해요.19주차DP보통
- 75정수 삼각형삼각형 꼭대기부터 바닥까지 내려가며 얻는 합의 최댓값을 구해요.19주차DP보통
- 76최장 증가 부분 수열값이 계속 커지는 가장 긴 부분 수열의 길이를 구해요.19주차DP이분 탐색어려움
- 77격자 경로의 수격자의 왼쪽 위에서 오른쪽 아래로 가는 경로의 수를 세요.20주차DP보통
- 780-1 배낭무게 한도 안에서 물건을 골라 담아 가치 합을 최대로 만들어요.20주차DP보통
- 79최장 공통 부분 수열두 문자열에 공통으로 순서를 지켜 나타나는 가장 긴 부분 수열의 길이를 구해요.20주차DP문자열보통
- 80편집 거리한 문자열을 다른 문자열로 바꾸는 데 필요한 최소 편집 횟수를 구해요.20주차DP문자열어려움
- 81다익스트라 최단 경로가중치가 있는 그래프에서 한 정점부터 모든 정점까지의 최단 거리를 구해요.21주차그래프다익스트라힙보통
- 82음수 간선이 있는 최단 경로음수 간선이 있어도 최단 거리를 구하고, 음수 사이클이면 -1을 반환해요.21주차그래프벨만-포드보통
- 83수강 과목 순서선수과목 관계를 지키는 수강 순서를 위상 정렬로 찾아요.21주차그래프위상 정렬보통
- 84모든 쌍 최단 거리모든 정점 쌍 사이의 최단 거리를 한 번에 구해요.21주차그래프플로이드-워셜DP어려움
- 85유니온 파인드 구현합치기와 같은 무리인지 묻기 연산을 유니온 파인드로 처리해요.22주차유니온 파인드보통
- 86그래프 사이클 판정무방향 그래프에 사이클이 있는지 유니온 파인드로 판정해요.22주차유니온 파인드그래프보통
- 87크루스칼 MST간선을 싼 것부터 골라 모든 정점을 잇는 최소 비용을 구해요.22주차유니온 파인드MST정렬보통
- 88도시 연결하기 (프림)한 정점에서 트리를 키워 가며 모든 정점을 잇는 최소 비용을 구해요.22주차MST힙그래프어려움
- 89서브트리의 크기루트를 0번으로 둔 트리에서 각 정점의 서브트리 크기를 구해요.23주차트리DFS트리 DP보통
- 90트리의 지름트리에서 가장 먼 두 정점 사이 경로의 길이를 구해요.23주차트리DFS트리 DP보통
- 91부분 문자열 찾기 (KMP)본문에서 패턴이 나타나는 모든 위치를 KMP로 찾아요.23주차문자열KMP어려움
- 92가장 긴 팰린드롬 부분 문자열문자열 안에서 앞뒤가 같은 가장 긴 연속 부분 문자열의 길이를 구해요.23주차문자열어려움
- 93문자열 파싱 + 정렬로그 문자열을 파싱해 점수 순으로 참가자를 줄 세워요.24주차문자열정렬구현보통
- 94격자 탐색 + 상태 관리격자에서 1로 이어진 가장 큰 덩어리의 칸 수를 구해요.24주차BFSDFS그래프보통
- 95DP 또는 그리디 판단각 칸에서 뛸 수 있는 최대 거리가 주어질 때 끝까지 가는 최소 점프 수를 구해요.24주차그리디DP보통
- 96그래프 + 최적화한 정점에서 신호가 모든 정점에 닿는 데 걸리는 시간을 구해요.24주차그래프다익스트라힙어려움