

주어진 문자열이 '1'이 될 때까지 이진 변환을 반복하면서 반복횟수와 함께 지운 0의 개수를 반환해야하는 문제이다.
반복을 몇 번 해야하는지 모르므로 while문을 이용했다.
def solution(s):
count_zero = 0
i = 0
while len(s) > 1 and s != '1':
i += 1
count_zero += s.count('0')
s = bin(s.count('1'))[2:]
return [i, count_zero]
내가 한 풀이와 별반 다르진 않았다. 다만 count('0')대신 len(S)-num을 이용했다.
그 외는 동일하다고 보면된다.
def solution(s):
a, b = 0, 0
while s != '1':
a += 1
num = s.count('1')
b += len(s) - num
s = bin(num)[2:]
return [a, b]