ALGORITHM/Kakao

[Python] 이진 변환 반복하기

김쿸후 2021. 10. 9. 00:04

1. 문제

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

 

코딩테스트 연습 - 이진 변환 반복하기

 

programmers.co.kr

 

2. 풀이

bin(십진수) 를 하면 앞에 0b가 붙어진 스트링으로 리턴된다!!

꼭 [2:]를 해주자!

 

3. 코드

def solution(s):
    cnt_0 = 0
    cnt_2 = 0
    
    while (len(s) > 1):
        cnt_2 = cnt_2 +1
        cnt = 0
        # 0 지우고 글자수 세기
        for i in s:
            if (i == '1'):
                cnt = cnt + 1
        # 0 제거된 횟수
        cnt_0 = cnt_0 + len(s) - cnt
        
        # cnt 를 2진수로
        s = bin(cnt)
        s = s[2:]
        
    answer = []
    answer.append(cnt_2)
    answer.append(cnt_0)
    return answer

'ALGORITHM > Kakao' 카테고리의 다른 글

[Python] 다트 게임  (0) 2022.01.04
[Python] 2개 이하로 다른 비트  (0) 2021.10.09
[Python] 메뉴 리뉴얼  (0) 2021.10.08
[Python] 삼각달팽이  (0) 2021.10.08
[Python] 거리두기 확인하기  (0) 2021.10.05