Notice
Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- ios면접
- algorithm
- IOS
- alamofire
- ReactorKit UnitTest
- 앱의생명주기
- hackerrank
- HackersRank
- Safari Inspector
- mrc
- ARC
- RxSwift
- 코딩테스트입문
- 카카오맵클론
- 프로그래머스
- Bubble Search
- firebase
- AutoLayout
- Di
- 시험에자주나오는것만
- iOS앱 디버깅
- 반응형프레임워크
- SWIFT
- Swift디자인패턴
- Swift코딩테스트
- TDD
- UIKit
- RC
- unittest
- firestore
Archives
- Today
- Total
샘성의 iOS 개발 일지
[코딩테스트 입문] 모스 부호 (1) 본문
728x90
문제 설명:
머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.
모스부호는 다음과 같습니다.
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'
}
내 풀이:
import Foundation
func solution(_ letter:String) -> String {
let 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"
]
// 띄어쓰기로 분리해서 morse딕셔너리에 키값 넣어서 해당되는 알파벳 찾기 (없는 경우 없으므로 강제옵셔널벗기기)
// components의 리턴타입은 String이므로 joined()로 배열 합쳐서 문자열 만들기
return letter.components(separatedBy: " ").map { morse[$0]! }.joined()
}
728x90
'Algorithm > 프로그래머스' 카테고리의 다른 글
[코딩테스트 입문] 가위 바위 보 (0) | 2023.05.11 |
---|---|
[코딩테스트 입문] 개미 군단 (0) | 2023.05.10 |
[코딩테스트 입문] 순서쌍의 개수 (0) | 2023.05.09 |
[코딩테스트 입문] 진료 순서 정하기 (0) | 2023.05.09 |
[프로그래머스 입문] 배열 자르기 (0) | 2023.05.08 |