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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ์™ธ๊ณ„ํ–‰์„ฑ์˜ ๋‚˜์ด

by hyebin (Helia) 2022. 12. 27.
๋ฐ˜์‘ํ˜•

์™ธ๊ณ„ํ–‰์„ฑ์˜ ๋‚˜์ด

๋ฌธ์ œ ์„ค๋ช…

์šฐ์ฃผ์—ฌํ–‰์„ ํ•˜๋˜ ๋จธ์“ฑ์ด๋Š” ์—”์ง„ ๊ณ ์žฅ์œผ๋กœ PROGRAMMERS-962 ํ–‰์„ฑ์— ๋ถˆ์‹œ์ฐฉํ•˜๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. ์ž…๊ตญ์‹ฌ์‚ฌ์—์„œ ๋‚˜์ด๋ฅผ ๋งํ•ด์•ผ ํ•˜๋Š”๋ฐ, PROGRAMMERS-962 ํ–‰์„ฑ์—์„œ๋Š” ๋‚˜์ด๋ฅผ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋งํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. a๋Š” 0, b๋Š” 1, c๋Š” 2, ..., j๋Š” 9์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 23์‚ด์€ cd, 51์‚ด์€ fb๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์ด age๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ PROGRAMMER-962์‹ ๋‚˜์ด๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • age๋Š” ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • age ≤ 1,000
  • PROGRAMMERS-962 ํ–‰์„ฑ์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

age result
23 "cd"
51 "fb"
100 "baa"

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • age๊ฐ€ 23์ด๋ฏ€๋กœ "cd"๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • age๊ฐ€ 51์ด๋ฏ€๋กœ "fb"๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #3

  • age๊ฐ€ 100์ด๋ฏ€๋กœ "baa"๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

์ œ์ถœ

import Foundation

func solution(_ age:Int) -> String {
    var s = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
    var age = age
    var re = ""

    while age > 0{
        re += s[age%10]
        age /= 10
    }
    
    return String(re.reversed())

}
0๋ถ€ํ„ฐ 9๊นŒ์ง€ ์•ŒํŒŒ๋ฒณ์„ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด ๋†“์€ ํ›„, 1์˜ ์ž๋ฆฌ๋ถ€ํ„ฐ ์•ŒํŒŒ๋ฒณ์„ ๊ตฌํ•ด re ๋ณ€์ˆ˜์— ์ €์žฅ
re ๋ณ€์ˆ˜๋ฅผ ๋’ค์ง‘์€ ํ›„ String์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜

๋‹ค๋ฅธ ํ’€์ด

func solution(_ age:Int) -> String {
    let alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
    return String(age).map{alphabet[Int(String($0))!]}.joined()
}
age๋ฅผ String์œผ๋กœ ๋ณ€ํ™˜ ํ›„ map ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์ž๋ฆฌ๋ฅผ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋ณ€๊ฒฝ, join ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด String์œผ๋กœ ๋ฐ˜ํ™˜
๋ฐ˜์‘ํ˜•