본문 바로가기
알고리즘

[Swift] 백준 1475번 방 번호

by 고고 2022. 3. 21.

링크: https://www.acmicpc.net/problem/1475

 

1475번: 방 번호

첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net

 

 

각 숫자별 사용된 횟수를 배열에 더합니다.

 

이때 6이나 9는 6이나 9 중 더 적은 횟수에 더합니다.

 

만약 669를 예시로 들면

i가 6일 때 count[6] = 1, count[9] = 0

i가 6일 때 count[6] = 1, count[9] = 1 // 9를 회전해서 6으로 씀

i가 9일 때 count[6] = 1, count[9] = 2

 

따라서 정답은 2가 됩니다.

 

import Foundation

let N = readLine()!.map { Int(String($0))! } // "9999" -> [9, 9, 9, 9]
var count = Array(repeating: 0, count: 10) // 0 ~ 9

for i in N {
    if i == 6 || i == 9 {
        if count[6] < count[9] { // 더 적은 값에 + 1
            count[6] += 1
        } else {
            count[9] += 1
        }
    } else {
        count[i] += 1
    }
}

print(count.max()!)

댓글