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

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

๋ฌธ์ œ

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())
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€

๋Œ“๊ธ€์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.