let dic: [String : Int] = [
"ABC": 3,
"DEF": 4,
"GHI": 5,
"JKL": 6,
"MNO": 7,
"PQRS": 8,
"TUV": 9,
"WXYZ": 10,
]
func charToInt(char: Character) -> Int {
for key in dic.keys {
if key.contains(char) {
return dic[key]!
}
}
return 0 //👉 임의로 넣은 리턴값 (실제 Test Case에서는 리턴되지 않지만 빌드를 위해 넣음)
}
let times = readLine()!.map { charToInt(char: $0) }
print(times.reduce(0, +))
알파벳이 3개씩 묶여있었다면 아스키 코드를 써서 더 짧게 쓸 수 있었지만 중간에 4개씩 묶여있는 부분도 있기 때문에 그냥 일일이 구하는 방법 뿐이었습니다.
다른 분들의 풀이를 참고하니 Dictionary를 구현하는 방법 외에도 Switch문을 사용하는 풀이도 있었습니다.