숫자 | 영단어 |
0 | zero |
1 | one |
2 | two |
3 | three |
4 | four |
5 | five |
6 | six |
7 | seven |
8 | eight |
9 | nine |
내 풀이
import Foundation
func solution(_ s:String) -> Int {
var result = s
let number = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
// 영어 단어를 해당하는 숫자로 한 번에 치환
for i in 0..<number.count {
result = result.replacingOccurrences(of: number[i], with: String(i))
}
// 한 번에 치환된 결과를 정수형으로 변환하여 반환
return Int(result)!
}
- 함수 내부에서는 주어진 문자열 s를 result 변수에 복사
- 영어 단어로 표현된 숫자(String)를 숫자(Int)로 치환하기 위해 number 배열에 0부터 9까지의 영어 단어를 순서대로 저장
- 반복문을 통해 number 배열에 저장된 영어 단어를 하나씩 가져와
문자열의 replacingOccurrences 메서드를 사용하여 각각의 영어 단어를 해당하는 숫자로 치환
→ 이 과정을 통해 result 변수에는 영어 단어가 숫자로 치환된 문자열이 저장 - 변환된 문자열 result을 정수형으로 변환하여 반환
→ 정수로 변환할 수 없는 경우에는 강제 언래핑을 사용하므로 주의 필요
' 𝗔𝗣𝗣𝗟𝗘 > ALGORITHM' 카테고리의 다른 글
[내일배움캠프] 데일리 루틴(iOS_3회차) - K번째수 (2) | 2024.03.11 |
---|---|
[내일배움캠프] 데일리 루틴(iOS_3회차) - 문자열 내 마음대로 정렬하기 (0) | 2024.03.08 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 시저 암호 (0) | 2024.03.06 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 최소 직사각형 (2) | 2024.03.05 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 크기가 작은 부분 (0) | 2024.03.04 |