딕셔너리를 활용해서 letter의 값이 morse의 key 값과 같으면 morse의 value를 반환해준다.
import Foundation
func solution(_ letter:String) -> String {
var morse: [String: String] = [
".-": "a", "-...": "b", "-.-.": "c", "-..": "d", ".": "e",
"..-.": "f", "--.": "g", "....": "h", "..": "i", ".---": "j",
"-.-": "k", ".-..": "l", "--": "m", "-.": "n",
"---": "o", ".--.": "p", "--.-": "q", ".-.": "r",
"...": "s", "-": "t", "..-": "u", "...-": "v", ".--": "w",
"-..-": "x", "-.--": "y", "--..": "z"
]
var arr:[String] = letter.components(separatedBy: " ")
var result:String = ""
for i in arr {
result += morse[i]!
}
return result
}
letter의 문자열을 " "이 있을 때마다 쪼개서 arr 배열에 넣어준다.
딕셔너리에 데이터 삽입을 해준다.
Dic[안에 key 값을 넣어주면 value 값 반환]
arr 요소가 morse의 key 값과 같으면 morse의 value 값이 반환된다 !
import Foundation
func solution(_ letter:String) -> String {
let morse = [
".-":"a", "-...":"b", "-.-.":"c", "-..":"d", ".":"e", "..-.":"f",
"--.":"g","....":"h","..":"i",".---":"j","-.-":"k",".-..":"l",
"--":"m","-.":"n","---":"o",".--.":"p","--.-":"q",".-.":"r",
"...":"s","-":"t","..-":"u","...-":"v",".--":"w","-..-":"x",
"-.--":"y","--..":"z"
]
return letter.split(separator: " ").map { morse[String($0)]! }.reduce("", +)
}
map을 활용해서 morse의 value를 구하고 reduce()를 통해 결합해준다.🔥