이진 변환 반복하기

박성호·2021년 4월 6일
0

(https://programmers.co.kr/learn/courses/30/lessons/70129)

문제를 딱보고 이해하는데 다른문제보다 조금더 걸렸다...
0을제거하고 길이를 다시 이진법을 만들고 그과정을 반복하여 1이나올떄까지 반복하라... 음~ while 문을 사용해서 하면좋겠군 이란 생각이 번뜩 떠올랐다.

def solution(s):
    count, num_0 = 0, 0
    while s != '1':
        count += 1
        num = s.count('1')
        num_0 += len(s) - num
        s = bin(num)[2:]
    return [a, b]

이진법으로 변환할떄 0b가 붙는다는걸 깜빡하고 그냥 처음엔 [2:]하지않고 돌린 나의 실수... 나머진 깔끔했다!

profile
코린이

0개의 댓글