[백준] 집 주소 (1284)

문제 설명

백준 1284번 문제 링크

입력 및 출력

» 입력

  • 호수판에 들어갈 숫자 N의 범위는 1 ≤ N ≤ 9999 이다. 입력은 마지막에 0이 들어오기 전까지 계속해서 줄 단위로 주어진다. 또한, 마지막의 0은 처리하지 않는다.

» 출력

  • 각 입력마다 얼마만큼 너비를 차지하는지 정수로 출력하면 된다. 각 출력은 줄바꿈으로 구분되어야한다.

예제 입출력

입력 출력
120
5611
100
0
13
15
14

문제 풀이 (KOTLIN)

import java.util.Scanner

fun main(args: Array<String>) = with(Scanner(System.`in`)) {
    var address = next()
    while (address != "0") {
        var size = 2 + address.length - 1
        address.forEach {
            size += when (it) {
                '1' -> 2
                '0' -> 4
                else -> 3
            }
        }
        println(size)
        address = next()
    }
}

문제 풀이 (SWIFT)

while true {
    let number = readLine()!.map { Int(String($0))! }
    if number.count == 1 && number[0] == 0 {
        break
    }
    
    print(
        number.reduce(0) { (count: Int, element: Int) -> Int in
            return count + (element == 0 ? 4 :
                        (element == 1 ? 2 : 3))
        } + number.count + 1
    )
}

태그:

카테고리:

업데이트: