#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.
scikit-learn으로 시험점수 예측하기 - 선형회귀(Linear Regression)
Scikit-learn파이썬 기반의 오픈소스 머신러닝 라이브러리데이터 분석과 예측모델을 구축하기 위한 간결하고 효율적인 도구 모음을 제공한다. 선형회귀를 왜 사용하는가공부시간 - 시험점수 이 둘의 관계는 '공부를 많이 할 수록 점수가 오른다' 라는 직선의 관계를 가지고 있다.이럴 때 사용하는 것이 선형회귀(Linear Regression)이다. 데이터 준비import numpy as npX = np.array([[1], [2], [3], [4], [5], [6], [7], [8], [9], [10]])y = np.array([40, 45, 50, 55, 60, 65, 70, 78, 85, 90])x -> 공부한 시간 (입력값 == Feature)y -> 시험 점수 (정답 데이터 == Label) 학습..
2026. 3. 23.