이 문제는 보고나서 문득 DP를 사용해야겠다!와 피보나치 수열하고 똑같은거 아닌가? 하는 생각이 들었다.
그래서 피보나치로 만들어서 풀었는데 풀이가 통과됬다.
1부터 n 까지 숫자를 각 경우의 수라고 생각하면, 결국에는 이전 경우의 수에서 더해져서 만들어지는 것이였다.
(코딩문제를 직감으로 풀면 안될 것같은데 직감이 들어간다.. )
def solution(n):
if n == 1:
return 1
a, b = 1, 2
for i in range(2, n):
a, b = b, a + b
return b % 1234567
코딩테스트 연습 - 멀리 뛰기
효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2
programmers.co.kr
728x90
'개인공부 > 알고리즘' 카테고리의 다른 글
프로그래머스 - 옹알이(1) (Kotlin) (0) | 2023.07.23 |
---|---|
[level 3] Title: 하노이의 탑 파이썬 (0) | 2022.05.31 |
[level 3] Title: 숫자 게임 파이썬 (0) | 2022.05.30 |
[level 3] Title: 가장 긴 팰린드롬 파이썬 (0) | 2022.05.30 |
[level 3] Title: 단어 변환 파이썬 (0) | 2022.05.30 |