๋ฌธ์ ๋งํฌ
https://www.acmicpc.net/problem/1212
๋ด๊ฐ ํผ ํ์ด - ์๊ฐ์ด๊ณผ (์ด๋์ ์๊ฐ๋ณต์ก๋๋ฅผ ์ค์ฌ์ผํ ๊น์?) ํด๊ฒฐ ์๋ฃ
- input์ผ๋ก ์ซ์ ํ๋ํ๋์ฉ ๋์ด์ ๋ฐฐ์ด๋ก ์ ์ฅ
- ์ซ์ ํ๋์ฉ 2์ง์๋ก ๊ตฌํ๊ณ , reverse ํด์ค๊ฑฐ์
- 314 ์ด๋ฉด, 11 / 001 / 100 ์ด ๋์ด์ผํจ
- 1์ 2์ง์๋ก ๊ตฌํ๋ฉด 1์. --> ์ด๋์ ์ธ์๋ฆฌ์๋ก ๋ชจ์กฐ๋ฆฌ ์ฑ์์ฃผ๊ธฐ ์ํด ์์ 0 ๋๊ฐ๋ฅผ ๋ฃ์ด์ฃผ์ด์ผํจ.
- ์ด๋ฐ ๊ณผ์ ์ด ํ์ํ๋ฏ๋ก, if ๋ฌธ์ ์ฌ์ฉํด์ 0์ ๋ฃ์ด์ค
- ๋์ , 3์ฒ๋ผ ๋งจ์์์๋ ์ซ์์ธ ๊ฒฝ์ฐ์๋ 011 ๋ก ๋ฐ๊ฟ์ค ํ์๊ฐ ์์ผ๋ฏ๋ก, ๊ทธ๋ฅ 11๋ก ๋๊ธฐ ์ํด์ i๊ฐ 0 ์ด์์ผ ๊ฒฝ์ฐ์๋ง for๋ฌธ์ ํต๊ณผ์ํด
์๊ฐ์ด๊ณผ... ์ค์ํํธ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ํ์ด๋ฅผ ๋ณผ ์๊ฐ ์๊ณ , ๊ตฌ๊ธ์ ๋ง์ ๋ฆฌ๋ทฐ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋์์ ์์ฒญํฉ๋๋ค ใ
ใ
์ค์ํํธ ๊ณ ์๋๋ค ์๋ ค์ฃผ์ธ์.. ์ ์๊ฐ์ด๊ณผ๊ฐ ๋จ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋๋ถ๋ถ์์ ์๊ฐ๋ณต์ก๋๋ฅผ ์ค์ฌ์ผํ๋์ง ๊ถ๊ธํฉ๋๋ค.
var input = Array(readLine()!)
for i in 0..<input.count {
var num = Int(String(input[i]))!
var answer = ""
while num != 1 {
answer += String(num%2)
num = num/2
}
answer += "1"
if i>0 && answer.count == 1 {
answer += "00"
} else if i>0 && answer.count == 2{
answer += "0"
}
print(String(answer.reversed()), terminator: "")
}
๋ด๊ฐ ํผ ํ์ด - ๋ง์์ต๋๋ค!
ํํ๋ก์ด ์ด๋๋ ์ค์ํํธ ์คํฐ๋์์๊ฒ ์นดํก์ด์๋ค!
๋๋ฐ... ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ ์ด์ ๊ฐ ๋ฌดํ๋ฃจํ์ ๋น ์ง๊ฒ ๋๋ ๊ฒ์ด์๋ค. ใ ใ ใ ์ด๊ฑธ ๋ชฐ๋๋ค๋... ๋ด ์ฝ๋๋ฅผ ์ ์ฑ์ค๋ฝ๊ฒ ์ฝ์ด๋ด์ฃผ์๊ณ ํด๊ฒฐ๋ฐฉ๋ฒ๊น์ง ์ ์ํด์ฃผ์ ์ ์คํฐ๋์๋ ๋ ์ค์ ๊ทธ๋ฆฌ๊ณ ๋ ๊ฐ๋์ด์๋ค. ๋๋ถ์ ์ ํด๊ฒฐํ ์ ์์๋ค! ๊ฐ์ฌํฉ๋๋ค~~!~!~!~!
์ค์ ๋ก "0"์ด ์ ๋ ฅ๋๋ฉด ์ถ๋ ฅ์ด ์๋๋ ๋ฌดํ๋ฃจํ ์ํ์๊ณ , ์ด๋ฅผ ๊ฐ๋จํ๊ฒ if๋ฌธ์ ํ์ฉํ์ฌ ์์ ํ ์ ์์๋ค.
๊ทธ๋ฆฌ๊ณ ๋, ์ค์ํํธ ์ธ์ด ํน์ฑ์ ์์ง ์ ์ง๊ฐ ํ ์ธ์ด๋งํผ ๋์ง ์์ ์ ๋ต ์์ ์ฝ๋๋ฅผ ์ฐพ๊ธฐ ํ๋ค์๋๋ฐ ๋ณธ์ธ์ ์ฝ๋๋ ๋ณด๋ด์ฃผ์ ์ ์ฐธ๊ณ ํด๋ณผ ์ ์์๋ค. case ๋ฌธ์ ํ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํผ ์ ์ด ๋ ํนํ๊ณ , ๋จ์ํ๋ฉด์๋ ํจ์จ์ ์ด๋ผ๊ณ ๋๊ปด์ก๋ค.
var input = Array(readLine()!)
for i in 0..<input.count {
var num = Int(String(input[i]))!
var answer = ""
if num == 0 {
answer += "0"
}else {
while num != 1 {
answer += String(num%2)
num = num/2
}
answer += "1"
}
if i>0 && answer.count == 1 {
answer += "00"
} else if i>0 && answer.count == 2{
answer += "0"
}
print(String(answer.reversed()), terminator: "")
}
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] (Swift) 11653๋ฒ - ์์ธ์๋ถํด (0) | 2022.02.28 |
---|---|
[๋ฐฑ์ค] (Swift) 2089๋ฒ - -2์ง๋ฒ (0) | 2022.02.26 |
[๋ฐฑ์ค] (Swift) 1737๋ฒ - 2์ง์ 8์ง์ (0) | 2022.02.20 |
[๋ฐฑ์ค] (Swift) 9613๋ฒ - GCDํฉ (0) | 2022.02.20 |
[๋ฐฑ์ค] (Swift) 17087๋ฒ - ์จ๋ฐ๊ผญ์ง6 (๋ฌธ์ ํ์ด ์ค๋ช , GCD์๊ณ ๋ฆฌ์ฆ_์ค์ํํธ) (0) | 2022.02.19 |