๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ์˜์–ด๊ฐ€ ์‹ซ์–ด์š”

by hyebin (Helia) 2023. 1. 10.
๋ฐ˜์‘ํ˜•

์˜์–ด๊ฐ€ ์‹ซ์–ด์š”

๋ฌธ์ œ ์„ค๋ช…

์˜์–ด๊ฐ€ ์‹ซ์€ ๋จธ์“ฑ์ด๋Š” ์˜์–ด๋กœ ํ‘œ๊ธฐ๋˜์–ด์žˆ๋Š” ์ˆซ์ž๋ฅผ ์ˆ˜๋กœ ๋ฐ”๊พธ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด 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ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•ด ๋ฐ˜ํ™˜ํ•œ๋‹ค.
๋ฐ˜์‘ํ˜•