[백준 1339] 단어 수학

Junyoung Park·2022년 4월 22일
0

코딩테스트

목록 보기
389/631
post-thumbnail

1. 문제 설명

단어 수학

2. 문제 분석

딕셔너리를 활용해 자릿값까지 고려, 특정 알파벳이 총 몇 개 언급되는지 카운트한다. 내림차순 정렬 뒤 9부터 수를 주어 값을 계산.

  • 파이썬의 dict.get(key, default)가 스위프트에서는 dict[key, default:certain value]로 사용된다.

3. 나의 풀이

import Foundation

let N = Int(readLine()!)!
var letterCnts:[String:Int] = [:]
for _ in 0..<N{
    let input = readLine()!.map({String($0)})
    var base = 1
    for letter in input.reversed(){
        letterCnts[letter, default:0] += 1 * base
        base *= 10
    }
}
var num = 9
var total = 0
for letterCnt in letterCnts.values.sorted(by: >){
    total += num * letterCnt
    num -= 1
}
print(total)
profile
JUST DO IT

0개의 댓글