https://school.programmers.co.kr/learn/courses/30/lessons/70129
python에서는 10진수 -> 2진수 변환하는 함수를 제공한다.
bin(n)을 쓰면 된다. 여기서 주의할 점은 앞에, '0b'가 붙어서 나온다. 그렇기에 slice를 해줘야한다.
# 나의 풀이
def solution(s):
answer = []
count = 0
zero = 0
while s != "1":
t = ""
for e in s:
if e != '0':
t += e
else:
zero += 1
length = len(t)
s = bin(length).replace("0b", "")
count += 1
answer.append(count)
answer.append(zero)
return answer
# 모범 답안
def solution(s):
a, b = 0, 0
while s != '1':
a += 1
num = s.count('1')
b += len(s) - num
s = bin(num)[2:]
return [a, b]
'2024 상반기 취준 준비 코테' 카테고리의 다른 글
구간합 리스트 빨리 구하기 (0) | 2024.04.02 |
---|---|
파이썬에서의 우선 순위 큐(힙) (0) | 2024.03.23 |
리스트 복사 헷갈리는 부분 (0) | 2024.03.11 |
2/27 (1) | 2024.02.27 |
시작 - 2/27 (0) | 2024.02.27 |