설계를 짜고 보니
f와 g가 짝수 홀수 기준으로 대칭을 이루고 있다는 사실을 발견했다.

# f 설계
f = [
0 for _ in range(1000001)
]
# f 초기설정
f[0] = 0
f[1] = 1
# f 채워넣기
for i in range(2, 1000001):
f[i] = (f[i-2] + f[i-1]) % 1000000000
# n 입력
n = int(input())
# n == 0 일 경우
if n == 0:
print(0)
print(0)
# n > 0 일 경우
elif n > 0:
print(1)
print(f[n])
# n < 0 일 경우
else:
# n이 짝수이면,
if n % 2 == 0:
# 음수
print(-1)
# 값 출력
print(f[n * -1])
# n이 홀수이면
else:
# 양수
print(1)
# 값 출력
print(f[n * -1])'Algorithm(BOJ, Python) > Dynamic Programing' 카테고리의 다른 글
| [백준_2133] 타일 채우기 python (0) | 2022.08.17 |
|---|---|
| [백준_14607] 피자(Large) python (0) | 2022.08.08 |
| [백준_14495] 피보나치 비스무리한 수열 python (0) | 2022.08.06 |
| [백준_15624] 피보나치 수 7 python (0) | 2022.08.05 |
| [백준_15991] 1,2,3 더하기 6 python (0) | 2022.08.01 |