알고리즘 PS
[Python] 프로그래머스 Lv.2 - 이진 변환 반복하기
on_doing
2021. 2. 11. 20:50
728x90
programmers.co.kr/learn/courses/30/lessons/70129
코딩테스트 연습 - 이진 변환 반복하기
programmers.co.kr
[ 알고리즘 ]
구현
[문제 접근]
파이썬의 문자열 핸들링에 한번 더 감탄한 문제. 파이썬은 문자열을 다루는데에 정말 특화된 것 같다
replace를 이용하여 0을 모두 없애주고 이진법으로 변환 반복,
[코드]
def solution(s):
cnt1=0
cnt2=0
while s!='1':
cnt2+=s.count('0')
s=s.replace('0','') #0없앰
n=len(s)
s=''
while n!=0:
s=str(n%2)+s
n=n//2
cnt1+=1
answer=[cnt1, cnt2]
return answer #이진 변환의 횟수, 과정 중 제거된 모든 0의 개수
728x90