본문 바로가기

PROGRAMMING/KOTLIN

[KOTLIN] 백준 10844번 쉬운 계단 수

 

https://dvpdvp.tistory.com/67?category=932820 

 

[백준] 10844번 쉬운 계단 수 JAVA DP

https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 요약 숫자 N이 주어질 때 쉬운 계단 수가 될 수 있는 경우의..

dvpdvp.tistory.com

 

코틀린 연습 차원에서 풀었던 알고리즘을 JAVA -> KOTLIN으로 바꿔보고 있다.

 

크게 다른점은 없었고

익숙해져야 할 부분 2가지

1. BufferedReader 선언 -> new로 선언하지 않는다는 것

2. ArrayList 선언 -> 배열 선언 시 파라미터 주의

 

 

import java.io.BufferedReader
import java.io.InputStreamReader

fun main(args : Array<String>){
    val SUB = 1000000000
    val br = BufferedReader(InputStreamReader(System.`in`))
    val input = Integer.parseInt(br.readLine())
    var arr = Array<LongArray>(input+1, {LongArray(10)})

    for(i in 1..9){
        arr[1][i] = 1
    }

    for(i in 2..input){
        for(j in 0..9){
            if(j == 0){
                arr[i][j] = arr[i-1][1] % SUB
            }else if(j == 9){
                arr[i][j] = arr[i-1][8] % SUB
            }else{
                arr[i][j] = (arr[i-1][j-1] + arr[i-1][j+1]) % SUB
            }
        }
    }

    var sum : Long = 0
    for(i in 0..9){
        sum += arr[input][i];
    }

    println(sum % SUB)
    br.close()
}

 

 

'PROGRAMMING > KOTLIN' 카테고리의 다른 글

[KOTLIN] Collections - foldIndexed  (0) 2021.07.13
[KOTLIN] 다양한 for문 활용법  (0) 2021.06.30
[KOTLIN] 간단하게 계산기능 구현해보기  (0) 2021.06.29