-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
💬 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12945#
💬 Idea
- Int의 숫자 표현 범위때문에 7 ~ 14 테스트케이스에서 런타임 에러가 났었다.
- 따라서 (A + B) % C == ((A % C) + (B % C)) % C 라는 공식을 사용하여 풀이를 변경해주었다.
💬 풀이
func solution(_ n:Int) -> Int {
var f0 = 0
var f1 = 1
for _ in 2...n {
var temp = ((f0 % 1234567) + (f1 % 1234567)) % 1234567
f0 = f1 % 1234567
f1 = temp
}
return f1
}
💬 다른 방법?
func solution(_ n:Int) -> Int {
var fibo = [0, 1]
for i in 2...n {
fibo.append(fibo[i - 2] % 1234567 + fibo[i - 1] % 1234567)
}
return fibo[n]
}