728x90
programmers.co.kr/learn/courses/30/lessons/70129
접근
문제에서 주어진대로 구현하는데에 중점을 두었다.
구현
먼저 num이라는 변수에 입력된 이진수를 대입한다.
그리고 while문으로 반복을 진행하게 된다.
num을 탐색하면서 1이면 copy_num에 넣고 아니라면 answer의 1번 인덱스의 수를 증가시킨다.
탐색이 종료되었다면 copy_num의 길이를 다시 이진수로 변환하여 num에 대입한다.
위의 과정을 num이 1일 될 때까지 반복한다.
def solution(s):
answer = [0, 0]
num = s
while True:
copy_num = ''
for i in range(len(num)):
if num[i] == '1':
copy_num += num[i]
else:
answer[1] += 1
num = bin(len(copy_num))[2:]
answer[0] += 1
if num == '1':
break
return answer
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[Level 2] 위장 (0) | 2021.03.30 |
---|---|
[Level 3] 입국심사 (0) | 2021.03.29 |
[Level 2] 문자열 압축 (0) | 2021.03.25 |
[Level 2] 메뉴 리뉴얼 (0) | 2021.03.24 |
[Level 2] 방문 길이 (0) | 2021.03.23 |