[Python] 프로그래머스 - 이진 변환 반복하기
728x90
반응형
programmers.co.kr/learn/courses/30/lessons/70129?language=python3
간단하게 문제에서 요구하는대로 풀면 되는 문제이다.
1. cnt에 s문자열 중 0의 갯수를 세서 증가시키고, s에서 0을 제거해준다.
2. new_s에 s의 길이를 2진법으로 변환하면 0b110 이런꼴로 나오기때문에 앞에 0b를 없앤 2번째 인덱스부터 저장해준다.
3. new_s가 '1'이 될때까지 반복
def solution(s):
answer = []
cnt, t = 0, 0
while True:
t += 1
cnt += s.count('0')
s = s.replace('0', '')
new_s = bin(len(s))[2:]
if new_s == '1':
break
else:
s = new_s
return [t, cnt]
728x90
반응형
'문제풀이 > Programmers' 카테고리의 다른 글
[Python] 프로그래머스 - 로또의 최고 순위와 최저 순위 (0) | 2021.04.27 |
---|---|
[Python] 프로그래머스 - 삼각 달팽이 (2) | 2021.04.25 |
[Python] 프로그래머스 - 신규 아이디 추천 (0) | 2021.04.25 |
[Python] 프로그래머스 - 소수 만들기 (0) | 2021.04.13 |
[Python] 프로그래머스 - 뉴스 클러스터링 (0) | 2021.04.10 |
TAGS.