프로그래머스/기초

[프로그래머스] Lv.0 /1로 만들기 (파이썬/Python)

junslee 2025. 2. 28. 22:06

1. 문제 설명

2. 풀이 과정 

결과를 넣을 result를 0으로 초기화한다.

num_list의 인덱스를 for문으로 반복한다.

인덱스에 해당 문자num_list[i]가 1이 아니라면 반복하게 하는 while문을 만든다.

num_list[i]가 짝수이면 2로 나누고, 홀수이면 1을 빼고 2로 나눈다.

그리고 result에 각각의 상황에 1을 더한다.

num_list[i]가 1이 되면 while문을 나오고

for문을 나오면 result 값을 반환한다.

3. 코드

def solution(num_list):
    result = 0
    for i in range(len(num_list)):
        while num_list[i] != 1:
            if num_list[i] % 2 == 0:
                num_list[i]/=2
                result += 1
            elif num_list[i] % 2 == 1:
                num_list[i] = (num_list[i]-1)/2
                result += 1            
    return result