프로그래머스 (Swift)/기초
[Day6-2] 수 조작하기1
은더기
2024. 2. 9. 18:30
문제
내 정답 코드
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]! }
}
배운 기술
https://developer.apple.com/documentation/swift/dictionary
Dictionary | Apple Developer Documentation
A collection whose elements are key-value pairs.
developer.apple.com