[프로그래머스] Lv.0 1로 만들기.java

hgghfgf·2023년 6월 6일
0

프로그래머스

목록 보기
127/227

1로 만들기.java

class Solution {
    public int solution(int[] num_list) {
        int answer = 0;
        
        for (int num : num_list) {
            while (num != 1) {
                if (num % 2 == 0) {
                    num /= 2;
                } else {
                    num = (num - 1) / 2;
                }
                answer++;
            }
        }
        
        return answer;
    }
}

해당 원소가 1이 될 때까지 나누기 연산을 수행합니다. 짝수인 경우는 2로 나누고, 홀수인 경우는 1을 빼고 2로 나눕니다. 반복하여 나누기 연산을 수행한 횟수를 answer에 누적합니다.

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0개의 댓글