📝 문제
✔️ 나의 풀이
def solution(num_list):
answer = 0
for n in num_list:
while n != 1:
if n % 2 == 0:
n //= 2
else:
n -= 1
n //= 2
answer += 1
return answer
🔎 다른 사람의 풀이
def solution(num_list):
return sum(len(bin(i)) - 3 for i in num_list)
✏️ 배운점
문제에 나온대로 구현하는 기초적인 문제이다.
다른 분들의 풀이를 보았을때,,
bin을 통하여 2진법으로 변환하여
len(bin(i)) - 3 을 통하여 2로 나누었을 때의 횟수를 구한다..
아직 갈 길이 멀다고 생각했다.
출처 : 프로그래머스 1로 만들기(https://school.programmers.co.kr/learn/courses/30/lessons/181880)
반응형
'Codingtest' 카테고리의 다른 글
[프로그래머스][파이썬] #14. 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (1) | 2023.09.07 |
---|---|
[프로그래머스][파이썬] #12. 조건에 맞게 수열 변환하기 2 (0) | 2023.08.18 |
[프로그래머스][파이썬] #11. 왼쪽 오른쪽 (0) | 2023.08.16 |
[프로그래머스][파이썬] #10. 배열 조각하기 (0) | 2023.08.06 |
[프로그래머스][파이썬] #09. 2의 영역 (0) | 2023.08.02 |