def solution(s):
answer = [0, 0]
while s != '1':
len_s = len(s)
s = ''.join(s.split('0'))
len_ns = len(s)
s = bin(len(s))[2:]
answer[0] += 1
answer[1] += len_s - len_ns
return answer
풀이
1. while문 (1이 될 때까지)
- 0을 제거
- 그 길이를 2진수로 바꿈
- answer[0] : 횟수 += 1, answer[1] : 0 제거 횟수 += 1
2. answer 리턴
bin을 이용해서 이진수로 바꾸면 앞에 쓸모없는 문자열이 있어서 [2:] 슬라이싱을 해줘야 한다.
0을 제거할 때는 split을 이용하여 join 해주었다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv2 - n^2 배열 자르기 (파이썬) (0) | 2022.05.13 |
---|---|
[프로그래머스] Lv2 - 점프와 순간 이동 (파이썬) (0) | 2022.05.04 |
[프로그래머스] Lv2 - 모음사전 (파이썬) (0) | 2022.05.03 |
[프로그래머스] Lv2 - 전력망을 둘로 나누기 (파이썬) (0) | 2022.05.03 |
[프로그래머스] Lv2 - 영어 끝말잇기 (파이썬) (0) | 2022.04.13 |