Algorithm/Baekjoon
[ë°ąė¤] (Swift) 2193ë˛ - ė´ėšė (ė¤ėíí¸ dp, ëė ęŗíë˛, 2ė°¨ė)
ę°ė đĨ
2022. 3. 12. 16:42
ë°ėí
ëŦ¸ė ë§íŦ
https://www.acmicpc.net/problem/2193
2193ë˛: ė´ėšė
0ęŗŧ 1ëĄë§ ė´ëŖ¨ė´ė§ ėëĨŧ ė´ė§ėëŧ íë¤. ė´ëŦí ė´ė§ė ė¤ íšëŗí ėąė§ė ę°ë ę˛ë¤ė´ ėëë°, ė´ë¤ė ė´ėšė(pinary number)ëŧ íë¤. ė´ėšėë ë¤ėė ėąė§ė ë§ėĄąíë¤. ė´ėšėë 0ėŧëĄ ėėíė§ ė
www.acmicpc.net
íė´ IDEA
N=2 ëļí° ęˇėšė ė°žėëŗ´ëęš, ė´ė ė íėë ëė ęŗíë˛ ëŦ¸ė ė ëšėˇíę˛ ëėëĻŦė ë°ëŧė ę˛Ŋė°ę° ëëėë¤. ėëė ę°ė´ ė íėė ëėļí ė ėë¤.
ė´ëĨŧ ėŊëëĄ ęĩŦíí늴 ėëė ę°ë¤.
let n = Int(readLine()!)!
var dp = [[Int]](repeating: Array(repeating: 0, count: 2), count: n+1)
if n == 1 {
print(1)
} else {
dp[2][0] = 1
dp[2][1] = 0
for i in 3..<n+1 {
dp[i][0] = dp[i-1][0] + dp[i-1][1]
dp[i][1] = dp[i-1][0]
}
print(dp[n][0]+dp[n][1])
}
ë°ėí