영어가 싫어요
문제 설명
영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
제한 사항
- numbers는 소문자로만 구성되어 있습니다.
- numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 들이 공백 없이 조합되어 있습니다.
- 1 ≤ numbers의 길이 ≤ 50
- "zero"는 numbers의 맨 앞에 올 수 없습니다.
입출력 예
numbers | result |
"onetwothreefourfivesixseveneightnine" | 123456789 |
"onefourzerosixseven" | 14067 |
입출력 예 설명
입출력 예 #1
- "onetwothreefourfivesixseveneightnine"를 숫자로 바꾼 123456789를 return 합니다.
입출력 예 #2
- "onefourzerosixseven"를 숫자로 바꾼 14067를 return합니다.
제출
import Foundation
func solution(_ numbers:String) -> Int64 {
var numbers = numbers
var string_num = ["zero": "0", "one": "1", "two": "2", "three": "3", "four": "4", "five": "5", "six": "6", "seven": "7", "eight": "8", "nine": "9"]
for i in string_num{
numbers = numbers.replacingOccurrences(of: i.key, with: String(i.value))
}
return Int64(numbers)!
}
영어를 key, 숫자를 value로 갖는 딕셔너리 string_num을 선언한다.
replacingOccurrences 함수를 사용해, 입력받은 문자열이 딕셔너리의 key를 갖고 있는 경우 value 값으로 변환한다.
이후 문자열을 Int64형으로 변환해 반환한다.
반응형
'📖 Coding Test > Programmers LV.0' 카테고리의 다른 글
[프로그래머스 LV.0] 한 번만 등장한 문자 (0) | 2023.01.10 |
---|---|
[프로그래머스 LV.0] 인덱스 바꾸기 (0) | 2023.01.10 |
[프로그래머스 LV.0] 대문자와 소문자 (0) | 2023.01.09 |
[프로그래머스 LV.0] 암호 해독 (0) | 2023.01.09 |
[프로그래머스 LV.0] 369게임 (0) | 2023.01.09 |
댓글