#4. 멀리뛰기 (lv.2) | DP [Dynamic Programming(동적 계획법)]
문제설명효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는(1칸, 1칸, 1칸, 1칸)(1칸, 2칸, 1칸)(1칸, 1칸, 2칸)(2칸, 1칸, 1칸)(2칸, 2칸)의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다.Dynamic Programming - 동적계획법DP는 큰 문제를 작은 문제로 나누고, 한 번 계산한 결과를 저장해 다시 사용하는 방법이다.아래 블로그를 통해 더 자세한 내용을 확..
2026. 3. 24.
#3 크기가 작은 부분 문자열 (lv.1) | 완전탐색
문제 설명숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다.1. 시간복잡도/ 공간복잡도 O(n*m) def solution(t, p): answer = 0 p_길이=len(p) t_길이=len(t) 배열 = [] for start in range(t_길이): end ..
2026. 3. 24.