[6/2] 이진 변환 반복하기

이경준·2021년 6월 2일
0

코테

목록 보기
29/140
post-custom-banner

문제

내 코드

def solution(s):
    while (s != "1"):
        ones = s.count("1")
        s = bin(ones)[2:]
        zeros = zeros + (len(s) - ones)
        cnt += 1
    return [cnt, zeros]

풀이

  1. while문
    a) s의 1 개수를 구한다.
    b) 1의 개수(10진수)를 2진수(s)로 바꾼다.
    c) s의 길이에서 1의 개수를 뺀 값이 0이다. 이 값을 zeros에 더해준다.
    d) 횟수를 +1 해준다.
    e) s가 1이 될 때까지 반복한다.
  2. 횟수와 0의 개수를 반환한다.

효율적인 코드

효율적으로 간결하게 풀었다!

피드백

  • for문 돌려서 1인 것들의 개수를 1씩 더해줬는데... count 쓰자!
profile
The Show Must Go On
post-custom-banner

0개의 댓글