문제
내 정답 코드
import Foundation
func solution(_ n:Int, _ control:String) -> Int {
var result = n
for char in control {
switch char {
case "w":
result += 1
case "s":
result -= 1
case "d":
result += 10
case "a":
result -= 10
default:
break
}
}
return result
}
#
1. control을 한 문자씩 확인하면서 각 문자에 맞게 result값을 계산한다.
@ 다른 사람 풀이에서 인상 깊었던 풀이
dictionary가 무엇인지는 알고 있었지만 이렇게 사용할 생각은 못해봤다.
dictionary와 reduce를 잘 활용한 방법 같다.
import Foundation
func solution(_ n:Int, _ control:String) -> Int {
let op: [Character: Int] = ["w": 1, "s": -1, "d": 10, "a": -10]
return n + control.reduce(0) { $0 + op[$1]! }
}
배운 기술
'프로그래머스 (Swift) > 기초' 카테고리의 다른 글
[Day6-4] 수열과 구간 쿼리 3 (0) | 2024.02.09 |
---|---|
[Day6-3] 수 조작하기2 (0) | 2024.02.09 |
[Day6-1] 마지막 두 원소 (0) | 2024.02.09 |
[Day5-5] 이어 붙인 수 (0) | 2024.02.02 |
[Day5-4] 원소들의 곱과 합 (0) | 2024.02.02 |