TIL/알고리즘 공부

백준 10870번 Swift 알고리즘 연습

여의도사노비 2022. 9. 6. 16:48
728x90

피보나치 수열과 관련된 문제이다.

n번째 자리에 위치한 피보나치 값을 출력해주면 된다.

 

 

이 문제를 풀면서 생각한 논리적 흐름은

  1. 값, 이전값, 다음값 이렇게 세가지 변수를 두고 값을 돌려서 사용하면 되겠다.
  2. 값 = 이전값 + 다음값, 이전값 = 다음값, 다음값 = 값 순서대로 값을 할당해준다.
  3. 이 과정을 반복한다.

 

 

* 10870번

let N = Int(readLine()!)!
var value = 0
var previousValue = 0
var nextValue = 1

if N == 0 {
    print(0)
} else if N == 1 {
    print(1)
} else {
    for _ in 1...N-1 {
        value = nextValue + previousValue
        previousValue = nextValue
        nextValue = value
    }
    print(value)
}

 

 

정리(Today I Learned)

  1. 없음