λ¬Έμ
https://school.programmers.co.kr/learn/courses/30/lessons/70129
νμ΄
# νλ‘κ·Έλλ¨Έμ€ 2λ¨κ³ - 2018μκ° μ½λ μ±λ¦°μ§1 - μ΄μ§ λ³ν λ°λ³΅νκΈ°
def solution(s):
answer = []
countZero = 0 # μ κ±°λ 0μ κ°μ
countBinary = 0 # μ΄μ§ λ³ν νμ
while True:
if s == '1': # sκ° 1μ΄ λμμλ μ€λ¨
break
countBinary += 1 # μ΄μ§ λ³νμ νμμΌλ―λ‘ +1
countZero += s.count('0') # μ΄μ§μμ μλ 0μ κ°μλ₯Ό μ
s = s.replace('0', '') # 0μ μμ μ£ΌκΈ°
newLength = len(s) # μ΄μ§ λ³νλ μμ κΈΈμ΄ μ μ₯
s = bin(newLength)[2:] # μ΄μ§ λ³ννλ ν¨μλ₯Ό ν΅ν΄ 0b~~λ‘ λμ€λ―λ‘ μμ 2κ°λ λΉΌκ³ μ¬λΌμ΄μ±
return [countBinary, countZero] # μ΄μ§λ³ννμ, μμ€ 0μ κ°μ
쑰건
1. λ¬Έμμ΄μ μλ λͺ¨λ 0 μ κ±°
2. μ κ±° ν λ¬Έμμ΄μ κΈΈμ΄λ₯Ό μ΄μ§λ²μΌλ‘ νν
3. λ¬Έμμ΄μ΄ 1μ΄ λλ©΄ μ€λ¨
λμ νμ΄
1. 무ν루νλ₯Ό λλ©΄μ λ¬Έμμ΄μ΄ 1μ΄ λμμ λ μ€λ¨μν€λλ‘ νλ€.
2. λ°λ³΅λ¬Έμ λ€μ΄μ€λ©΄ μ΄μ§ λ³νμ νλ κ²μ΄λ―λ‘ μ΄μ§ λ³ν νμ + 1
3. λ¬Έμμ΄μ μλ 0μ κ°μλ₯Ό μΌλ€ ( 0μ μμ€ κ°μλ₯Ό μΈμΌ νκΈ° λλ¬Έ)
4. 0μ μμ μ€λ€.
5. λ³νλ μμ κΈΈμ΄ μ μ₯
6. bin ν¨μλ₯Ό ν΅ν΄ μ΄μ§μλ‘ λ³ννλλ° 0b~~λ‘ λμ€λ―λ‘ 2λ²μ§Έ μΈλ±μ€λΆν° μ¬λΌμ΄μ±
λ°λ³΅