https://school.programmers.co.kr/learn/courses/30/lessons/70129
1. 해결방법
이진법으로 표현된 문자열이 주어질 것이다.
이때, 문자열 내의 '0'을 없애줘야 while문을 통해서 반복이 가능하다.
어떻게 해야할까???
본인은 기억이 안났지만, 파이썬 내장 기능중 replace(a, b)라는 기능이 있다. 문자열 내의 특정 문자를 바꾸는데 사용할 것이다.
그리고 answer에 맞게 값을 카운팅 해주면 된다.
2. 정답코드
def solution(s):
answer = []
s_count, zero = 0, 0
while True:
if len(s) == 1 and s[0] == '1':
break
zero += s.count('0')
s = s.replace('0', '')
s = bin(len(s))[2:]
s_count += 1
answer = [s_count, zero]
return answer
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 괄호 회전하기 (0) | 2022.09.27 |
---|---|
[프로그래머스] Lv.2 H-Index (0) | 2022.09.26 |
[프로그래머스] Lv.1 소수 찾기 (2) | 2022.09.26 |
[프로그래머스] Lv.2 행렬 테두리 회전하기 (0) | 2022.09.20 |
[프로그래머스] Lv.2 영어 끝말잇기 (0) | 2022.09.19 |