Archive/Questions
[programmers/Swift] 숫자 문자열과 영단어 (2020 카카오 채용 연계형 인턴쉽)
Marco
2022. 5. 8. 17:31
728x90
programmers.co.kr - 코딩테스트연습 - Lv.1 - 2020 카카오 채용연계형 인턴쉽 - 숫자 문자열과 영단어
코딩테스트 연습 - 숫자 문자열과 영단어
네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자
programmers.co.kr
Constraints :
- 1 ≤ s의 길이 ≤ 50
- s가 "zero" 또는 "0"으로 시작하는 경우는 주어지지 않습니다.
- return 값이 1 이상 2,000,000,000 이하의 정수가 되는 올바른 입력만 s로 주어집니다.
//
// Created by Yongwoo Marco on 2022/05/08.
// Copyright © 2022 Yongwoo Marco Kim. All rights reserved.
//
func solution(_ s:String) -> Int {
var wordBasket = "", result = ""
let wordTable = ["zero":"0", "one":"1", "two":"2", "three":"3", "four":"4",
"five":"5", "six":"6", "seven":"7", "eight":"8", "nine":"9"]
s.forEach { char in
if char.isNumber {
result.append(String(char))
} else {
wordBasket.append(String(char))
if let number = wordTable[wordBasket] {
result.append(number)
wordBasket = ""
}
}
}
return Int(result)!
}
print(solution("one4seveneight")) // 1478
print(solution("23four5six7")) // 234567
print(solution("2three45sixseven")) // 234567
print(solution("123")) // 123
How I tried this :
각 문자를 방문해서 체크하는 형태로 구현함
문자 확인용 temp를 두고 문자 숫자를 찾아냄
문제에 관한 모든 저작권 : https://programmers.co.kr/
728x90