본문 바로가기
Codingtest

[프로그래머스][파이썬] #13. 1로 만들기

by Joshuuakeem 2023. 9. 7.

📝 문제

출처 : 프로그래머스 1로 만들기(https://school.programmers.co.kr/learn/courses/30/lessons/181880)
출처 : 프로그래머스 1로 만들기(https://school.programmers.co.kr/learn/courses/30/lessons/181880)

 

✔️ 나의 풀이

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)

반응형