알고리즘/프로그래머스

이진 변환 반복하기

1.5볼트 2023. 3. 28. 21:21
728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문자열에서 0을 제거하고 리턴 한 문자열의 길이를 다시 이진수로 바꾸고 반복

0과 1 밖에 없으니까 그냥 replace로 제거하면 간단하다 그럼 바로 남는 문자열 길이 나오고 그 길이를 다시 이진수로 바꾸고 파이썬이라 이렇게 간단한 듯 bin 함수는 문자열로 리턴하고 앞에 이진수라는 표시가 있어서 그거 제거하고 가져온다

def solution(s):
    ss=0
    n=0
    while s!="1":
        l=len(s)
        s=len(s.replace("0",""))
        ss+=l-s
        s=bin(s)[2:]
        n+=1
        
    return [n,ss]