풀이과정
1. 1의 개수를 카운트해준다. 이 때 0의 개수도 같이 카운팅
2. 1의 개수의 길이를 bin 함수를 사용하여 2진수 형태로 변환
3. 해당 결과값이 1일때까지 반복.
4. 몇번 진행하였는지, 몇개의 0을 제거하였는지 리턴
def convert(s):
return bin(s)[2:]
def solution(s):
answer = []
zero = 0
step = 0
while True:
temp = []
for n in s:
if n == '0':
zero += 1
else:
temp.append(n)
t = convert(len(temp))
step += 1
s = t
if s == '1':
break
answer = [step, zero]
return answer
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
'알고리즘[Python] > 프로그래머스' 카테고리의 다른 글
[ Lv 2 ] 쿼드압축 후 개수 세기 (0) | 2021.06.30 |
---|---|
[ Lv 2 ] 스킬트리 (0) | 2021.06.29 |
[ Lv 2 ] [1차] 캐시 (0) | 2021.06.28 |
[ Lv 2 ] 점프와 순간 이동 (0) | 2021.06.28 |
[ Lv 2 ] 주식가격 (0) | 2021.06.28 |