본문 바로가기
코딩 테스트/프로그래머스

멀리 뛰기

by ornni 2024. 5. 28.
728x90
반응형

첫번째 코드

 

def solution(n):
    
    count = 1
    down = 1
    
    for i in range(1, int(n/2)+1):
        up = 1
        for j in range(i):
            up *= (n-i-j)
        down *= i
        count += up/down        
    answer = count % 1234567
    return answer

 

오류....


두번째 코드

 

손으로 하나하나 써가다가 피보나치 같은 특성을 갖고 있음을 알았다.

ap[i] = ap[i-1] + ap[i-2]

 

이렇게 단순한 특성이 있는데...나는 왜...;;

 

def solution(n):
    
    ap = [0] * (n+1)
    ap[1] = 1
    ap[2] = 2
    
    if n <= 2:
        return ap[n] % 1234567
    else:
        for i in range(3, n+1):
            ap[i] = ap[i-1] + ap[i-2]
        return ap[n] % 1234567
        

테스트 케이스 1에서 런타임 오류..?


세번째 코드

 

n=1일때 ap[2]가 존재하지 않아 문제가 된 것!

그렇다면 리스트의 길이를 하나 더 늘리면 되지!

 

def solution(n):
    
    ap = [0] * (n+2)
    ap[1] = 1
    ap[2] = 2
    
    if n <= 2:
        return ap[n] % 1234567
    else:
        for i in range(3, n+1):
            ap[i] = ap[i-1] + ap[i-2]
        return ap[n] % 1234567
        

통과!

 

고생을 좀 했지만... 그래도 처음으로 2단계 풀었다!


링크

https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/2/12914.%E2%80%85%EB%A9%80%EB%A6%AC%E2%80%85%EB%9B%B0%EA%B8%B0

 

programmers/프로그래머스/2/12914. 멀리 뛰기 at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

포켓몬  (0) 2024.05.30
같은 숫자는 싫어  (0) 2024.05.29
더 맵게  (0) 2024.05.25
올바른 괄호  (0) 2024.05.24
기능개발  (0) 2024.05.23