๊ธ€ ์ž‘์„ฑ์ž: ์ด์ง€์›๐ŸŒฉ๏ธ

์žฌ๊ท€๋ฅผ ์ด์šฉํ•œ ์™„์ „ ํƒ์ƒ‰์„ ์—ฐ์Šตํ•˜๋ ค๊ณ  ํ’€์—ˆ๋‹ค.

๋ฌธ์ œ

https://www.acmicpc.net/problem/10829


๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ

Swift

let x = Int(readLine()!)! 
var results = [Int]()

func binary(_ n: Int) {     
    // ๊ธฐ์ € ์‚ฌ๋ก€1: n์ด 0์ด๋ฉด ๋๋‚ธ๋‹ค.
    if n == 0 {
        results.append(0)
        return     
    }
    // ๊ธฐ์ € ์‚ฌ๋ก€2: n์ด 1์ด๋ฉด ๋๋‚ธ๋‹ค.
    if n == 1 {
        results.append(1)
        return
    }
    // 2๋กœ ๋‚˜๋ˆˆ ์ˆ˜์˜ ๋‚˜๋จธ์ง€๋ฅผ results์— ์ €์žฅํ•˜๊ณ , 2๋กœ ๋‚˜๋ˆˆ ์ˆ˜๋ฅผ ์žฌ๊ท€ ํ˜ธ์ถœํ•œ๋‹ค.
    results.append(n%2)
    binary(n/2) 
}  

binary(x) 
print(results.reversed().map { String($0) }.joined())
๋ฐ˜์‘ํ˜•