728x90
전반적으로 간단한 문제였다.
각 번호마다 가지고 있는 알파벳의 범위가 지정되어 있어 case / switch 문을 사용하면 금방 해결할 것 같았다.
이 문제를 풀면서 생각한 논리적 흐름은
- case가 8개 밖에 안되니 그냥 직접 만드는게 빠르겠다.
- 각 케이스마다 걸리는 시간을 time에 더해준다.
- 최종 time을 print한다.
보자마자 case switch 문이 떠올라 금방 해결하긴했지만, 이런 비슷한 문제를 앞으로 마주쳤을때도 이렇게 접근해야할지는 고민해보아야 할 것 같다. 더 간단한 방법이 있을 것 같다.
* 5622번
let word = readLine()
var time = 0
var arr = [Character]()
for i in word! {
arr.append(i)
}
for j in arr {
switch j {
case "A"..."C":
time += 3;
case "D"..."F":
time += 4;
case "G"..."I":
time += 5;
case "J"..."L":
time += 6;
case "M"..."O":
time += 7;
case "P"..."S":
time += 8;
case "T"..."V":
time += 9;
case "W"..."Z":
time += 10;
default:
time += 0
}
}
print(time)
정리(Today I Learned)
- 없음
'TIL > 알고리즘 공부' 카테고리의 다른 글
백준 1316번 Swift 알고리즘 연습 (0) | 2022.08.22 |
---|---|
백준 2941번 Swift 알고리즘 연습 (0) | 2022.08.22 |
백준 2908번 Swift 알고리즘 연습 (0) | 2022.08.22 |
백준 1152번 Swift 알고리즘 연습 (0) | 2022.08.16 |
백준 1157번 Swift 알고리즘 연습 (0) | 2022.08.16 |