⌨️ Language/swift

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ LV.1] 숫자 λ¬Έμžμ—΄κ³Ό μ˜λ‹¨μ–΄

hyebin (Helia) 2023. 3. 5. 17:43
λ°˜μ‘ν˜•
ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ LV.1 λͺ¨μŒ

숫자 λ¬Έμžμ—΄κ³Ό μ˜λ‹¨μ–΄

문제 μ„€λͺ…

λ„€μ˜€μ™€ ν”„λ‘œλ„κ°€ μˆ«μžλ†€μ΄λ₯Ό ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ„€μ˜€κ°€ ν”„λ‘œλ„μ—κ²Œ 숫자λ₯Ό 건넬 λ•Œ 일뢀 자릿수λ₯Ό μ˜λ‹¨μ–΄λ‘œ λ°”κΎΌ μΉ΄λ“œλ₯Ό 건넀주면 ν”„λ‘œλ„λŠ” μ›λž˜ 숫자λ₯Ό μ°ΎλŠ” κ²Œμž„μž…λ‹ˆλ‹€.
λ‹€μŒμ€ 숫자의 일뢀 자릿수λ₯Ό μ˜λ‹¨μ–΄λ‘œ λ°”κΎΈλŠ” μ˜ˆμ‹œμž…λ‹ˆλ‹€.

  • 1478 → "one4seveneight"
  • 234567 → "23four5six7"
  • 10203 → "1zerotwozero3"

μ΄λ ‡κ²Œ 숫자의 일뢀 μžλ¦Ώμˆ˜κ°€ μ˜λ‹¨μ–΄λ‘œ λ°”λ€Œμ–΄μ‘Œκ±°λ‚˜, ν˜Ήμ€ λ°”λ€Œμ§€ μ•Šκ³  κ·ΈλŒ€λ‘œμΈ λ¬Έμžμ—΄ sκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§‘λ‹ˆλ‹€. sκ°€ μ˜λ―Έν•˜λŠ” μ›λž˜ 숫자λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄ μ£Όμ„Έμš”.


참고둜 κ° μˆ«μžμ— λŒ€μ‘λ˜λŠ” μ˜λ‹¨μ–΄λŠ” λ‹€μŒ ν‘œμ™€ κ°™μŠ΅λ‹ˆλ‹€.

숫자 μ˜λ‹¨μ–΄
0 zero
1 one
2 two
3 three
4 four
5 five
6 six
7 seven
8 eight
9 nine

μ œν•œ 사항

  • 1 ≤ s의 길이 ≤ 50
  • sκ°€ "zero" λ˜λŠ” "0"으둜 μ‹œμž‘ν•˜λŠ” κ²½μš°λŠ” μ£Όμ–΄μ§€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  • return 값이 1 이상 2,000,000,000 μ΄ν•˜μ˜ μ •μˆ˜κ°€ λ˜λŠ” μ˜¬λ°”λ₯Έ μž…λ ₯만 s둜 μ£Όμ–΄μ§‘λ‹ˆλ‹€.

μž…μΆœλ ₯ 예

s result
"one4seveneight" 1478
"23four5six7" 234567
"2three45sixseven" 234567
"123" 123

μž…μΆœλ ₯ 예 μ„€λͺ…

μž…μΆœλ ₯ 예 #1

  • 문제 μ˜ˆμ‹œμ™€ κ°™μŠ΅λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #2

  • 문제 μ˜ˆμ‹œμ™€ κ°™μŠ΅λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #3

  • "three"λŠ” 3, "six"λŠ” 6, "seven"은 7에 λŒ€μ‘λ˜κΈ° λ•Œλ¬Έμ— 정닡은 μž…μΆœλ ₯ 예 #2와 같은 234567이 λ©λ‹ˆλ‹€.
  • μž…μΆœλ ₯ 예 #2와 #3κ³Ό 같이 같은 정닡을 κ°€λ¦¬ν‚€λŠ” λ¬Έμžμ—΄μ΄ μ—¬λŸ¬ κ°€μ§€κ°€ λ‚˜μ˜¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #4

  • sμ—λŠ” μ˜λ‹¨μ–΄λ‘œ 바뀐 뢀뢄이 μ—†μŠ΅λ‹ˆλ‹€.

제좜

import Foundation

func solution(_ s:String) -> Int {
    var re = s
    var num: [String] = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
    
    for i in 0..<num.count{
        re = re.replacingOccurrences(of: num[i], with: "\(i)")
    }
    
    return Int(re)!
}
μž…λ ₯받은 λ¬Έμžμ—΄μ„ re λ³€μˆ˜μ— μ €μž₯ν•œλ‹€.
num배열을 μ„ μ–Έν•˜μ—¬ index 0λΆ€ν„° 9κΉŒμ§€ λŒ€μ‘λ˜λŠ” μ˜λ‹¨μ–΄λ₯Ό μ €μž₯ν•œλ‹€.
0λΆ€ν„° 9κΉŒμ§€ iλ₯Ό μ¦κ°€μ‹œν‚€λ©°, λ¬Έμžμ—΄ re에 λŒ€μ‘λ˜λŠ” μ˜λ‹¨μ–΄κ°€ ν¬ν•œλ˜μ–΄ μžˆλ‹€λ©΄ κ·Έ μ˜λ‹¨μ–΄λ₯Ό 숫자둜 λ°”κΏ” μ €μž₯ν•œλ‹€.
replacingOccurrences(of: with: ) μ‚¬μš© <of λ¬Έμžμ—΄ 뢀뢄을 with둜 λ³€κ²½>
λ¬Έμžμ—΄ reλ₯Ό Intν˜•μœΌλ‘œ λ³€ν™˜ν•΄ λ°˜ν™˜ν•œλ‹€.
λ°˜μ‘ν˜•