728x90
9461번: 파도반 수열
오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의
www.acmicpc.net
풀이
- 주어진 1부터 10까지 결과에 대한 규칙을 찾는다 : P(N) = P(N - 2) + P(N - 3)
- 입력이 100일 경우 Int Data 범위를 넘어서기 때문에 LongArray 를 배열로 선언한다.
코드
import java.io.*
fun main(args: Array<String>) {
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
val T = br.readLine().toInt()
repeat(T) {
val N = br.readLine().toInt()
val dp = LongArray(N + 1)
for (i in 1..N) {
if (i == 1 || i == 2 || i == 3) {
dp[i] = 1
} else {
dp[i] = dp[i - 2] + dp[i - 3]
}
}
bw.write("${dp[N]}\n")
}
bw.flush()
bw.close()
br.close()
}
728x90
'알고리즘' 카테고리의 다른 글
[백준][KOTLIN] 1932 정수 삼각형 (0) | 2021.12.10 |
---|---|
[백준][KOTLIN] 1149 RGB거리 (0) | 2021.12.09 |
[백준][KOTLIN] 1904 01타일 (0) | 2021.12.09 |
[백준][KOTLIN] 9184 신나는 함수 실행 (0) | 2021.12.08 |
[백준][KOTLIN] 1003 피보나치 함수 (0) | 2021.12.08 |