[백준] 13301번: 타일 장식물 - Kotlin[코틀린]

2024. 3. 17. 21:47·알고리즘/Baekjoon

문제

 

 

13301번: 타일 장식물

대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개

www.acmicpc.net

 


풀이

 

 문제에서 1, 1, 2, 3, 5, ... 을 보면 알 수 있듯이 정사각형 타일의 한 변의 길이는 피보나치 수열로 증가한다. 따라서 반복문을 이용하여 DP 계산을 해주면 타일의 길이를 계산할 수 있다.

 

 N개의 타일로 구성된 전체 타일은 한 변의 길이가 dp[N]이고, 다른 변의 길이는 dp[N] + dp[N-1], 즉 dp[N + 1] 이 된다. 그렇기 때문에 전체 타일의 둘레는 dp[N]*2 + dp[N+1]*2 로 구하면 된다.

 


코드

 

fun main() {
    val br = System.`in`.bufferedReader()
    val bw = System.out.bufferedWriter()

    val num = br.readLine().toInt()
    val dp = LongArray(num+2)
    dp[1] = 1L
    for(i in 2 .. num+1) {
        dp[i] = dp[i - 1] + dp[i - 2]
    }

    bw.write("${dp[num+1]*2+dp[num]*2}")
    bw.flush()
    bw.close()
    br.close()
}

 

'알고리즘 > Baekjoon' 카테고리의 다른 글

[백준] 1913번: 달팽이 - Kotlin[코틀린]  (0) 2024.03.22
[백준] 11501번: 주식 - Kotlin[코틀린]  (0) 2024.03.20
[백준] 1647번: 도시 분할 계획 - Kotlin[코틀린]  (0) 2024.03.13
[백준] 14719번: 빗물 - Kotlin[코틀린]  (0) 2024.03.12
[백준] 11444번: 피보나치 수 6 - Kotlin[코틀린]  (0) 2024.03.10
'알고리즘/Baekjoon' 카테고리의 다른 글
  • [백준] 1913번: 달팽이 - Kotlin[코틀린]
  • [백준] 11501번: 주식 - Kotlin[코틀린]
  • [백준] 1647번: 도시 분할 계획 - Kotlin[코틀린]
  • [백준] 14719번: 빗물 - Kotlin[코틀린]
junghoooooon
junghoooooon
  • junghoooooon
    코드팁스
    junghoooooon
  • 전체
    오늘
    어제
    • 전체 (120)
      • 안드로이드 (0)
        • 코드팁스 (0)
      • 유니티 (0)
        • 코드팁스 (0)
      • 알고리즘 (118)
        • 알고리즘 (0)
        • Baekjoon (118)
      • GitHub (0)
      • 티스토리 (2)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      백트래킹
      문자열
      브루트포스
      유니온파인드
      DP
      에라토스테네스의 체
      그래프이론
      큐
      정렬
      스택
      분리집합
      소수 판정
      수학
      이분 탐색
      BFS
      투 포인터
      MST
      모듈러 곱셈 역원
      구현
      프림
      피보나치
      누적 합
      그리디
      분할 정복
      티스토리
      크루스칼
      그래프 탐색
      재귀
      dfs
      우선순위 큐
    • hELLO· Designed By정상우.v4.10.2
    junghoooooon
    [백준] 13301번: 타일 장식물 - Kotlin[코틀린]
    상단으로

    티스토리툴바