Foma's νμ΄
λ¬Έμ μ€λͺ
μ ν 1μΉΈμ΄λ 건μ μ§ μλͺ¨ 1
μκ°μ΄λ νμ¬κΉμ§ μ¨κ±°λ¦¬μ *2 건μ μ§ μλͺ¨ 0
μ΄ λ¬Έμ λ μ£Όμ΄μ§ NλΆν° 0κΉμ§ λ°λλ‘ μ΄λν΄μΌν©λλ€.
μ¦ μ νλ -1 μκ°μ΄λμ λλκΈ° 2κ° λ©λλ€.
건μ μ§ μλͺ¨λ₯Ό μ΅μλ‘ νκΈ°μν΄ μ΅λν μκ°μ΄λμΌλ‘ μ΄λν΄μΌνμ§λ§
μ΄μ© μ μμ΄ μ νλ₯Ό μ¬μ©ν΄μΌν μκ°μ΄ μΈμ μΌκΉμ?
λ°λ‘ μ£Όμ΄μ§ NλΆν° 0κΉμ§ κ° λκΉμ§ μ°¨λ‘λ‘ λ°μΌλ‘(2λ‘) λλμμ λ νμκ° λμ λ μ λλ€.
μμλ‘ μμλ³΄κ² μ΅λλ€.
λ§μ½ Nμ΄ 5λΌλ©΄ 5λ μμλΆν° νμμ΄λ―λ‘ 2λ‘ λλμκ° μμΌλ―λ‘ μ νλ₯Ό μ¬μ©ν΄ 1λ§νΌ μ΄λν©λλ€. -> 4(μ ν μ¬μ© +1)
그리곀 μκ°μ΄λμ μ¬μ©ν΄ 2λ‘ λλμ΄μ€λλ€. -> 2 (μκ°μ΄λ)
2λ νμκ° μλλ―λ‘ λ μκ°μ΄λμΌλ‘ μ΄λν©λλ€. -> 1 ( μκ°μ΄λ)
1μ νμμ΄λ―λ‘ μκ°μ΄λμ μ¬μ©ν μκ° μμ΅λλ€. κ³ λ‘ μ νλ₯Ό μ¬μ©ν΄ 1λ§νΌ μ΄λν©λλ€. -> 0 (μ ν μ¬μ© + 1)
κ·Έλ¬λ©΄ μ΄ μ νλ₯Ό 2λ² μ¬μ©νμμΌλ―λ‘ κ±΄μ μ§ μλͺ¨λ 2κ° λ©λλ€.
μ½λμ€λͺ
λλμ΄μ§λ nκ³Ό 건μ μ§ μλͺ¨λ₯Ό μ μ₯ν answer λ³μλ₯Ό λ§λ€μ΄μ€λλ€. -> var devideN = n
var answer = 0
κ·Έλ¦¬κ³ whileλ¬Έμ μ¬μ©νμ¬ λλμ΄μ§λ nμ΄ 0μ΄ λ λκΉμ§ λ°λ³΅ν΄μ€λλ€. -> while devideN != 0 {...}
nμ 2λ‘ λλμμ λ(devideN) νμκ° λλ κ² μ¦ %2 κ° 1μ΄ λμμ λ answer(건μ μ§ μ¬μ©)μ 1 λν΄μ€λλ€. -> if devideN%2 == 1 {
answer += 1
}
κ·Έλ¦¬κ³ nμ 2λ‘ λλμ΄μ€λλ€.(devideN) μ μλ₯Ό 2λ‘ λλλ©΄ νμλΌλ μμμλ¦¬κ° μμ΄μ§λ―λ‘ -1μ λ°λ‘ ν΄μ€ νμκ° μμ΅λλ€. -> devideN = devideN/2
λ§μ§λ§μΌλ‘ answer(건μ μ§ μ¬μ©)μ λ°νν΄μ€λλ€. -> return answer
μ 체μ½λ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import Foundation
func solution(_ n:Int) -> Int
{
var devideN = n
var answer = 0
while devideN != 0 {
if devideN%2 == 1 {
answer += 1
}
devideN = devideN/2
}
return answer
}
|
'π Problem Solution > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
2018 KAKAO BLIND RECRUITMENT [1μ°¨] μΊμ Swift (0) | 2020.10.17 |
---|---|
νλ‘κ·Έλλ¨Έμ€ μμ λμ§ν Swift (0) | 2020.10.17 |
νλ‘κ·Έλλ¨Έμ€ JadenCase λ¬Έμμ΄ λ§λ€κΈ° Swift (0) | 2020.10.10 |
νλ‘κ·Έλλ¨Έμ€ Nκ°μ μ΅μ곡배μ Swift (0) | 2020.10.09 |
νλ‘κ·Έλλ¨Έμ€ νΌλ³΄λμΉ μ Swift (0) | 2020.10.09 |
λκΈ