본문 바로가기
코딩테스트/programming_JAVA

[Java] 프로그래머스_181881 : 조건에 맞게 수열 변환하기 2

by prometedor 2023. 8. 16.

Boolean 이용

 

https://school.programmers.co.kr/learn/courses/30/lessons/181881?language=java

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이

class Solution {
    public int solution(int[] arr) {
        int answer = 0;
        int[] numArr = new int[arr.length];
        
        while (true) {
            Boolean flag = true;
            
            for (int i = 0; i < arr.length; i++) {
                numArr[i] = arr[i];
                if (arr[i] >= 50 && arr[i] % 2 == 0) {
                    arr[i] /= 2;
                } else if (arr[i] < 50 && arr[i] % 2 != 0) {
                    numArr[i] = arr[i];
                    arr[i] = arr[i] * 2 + 1;
                }
                
                if (arr[i] != numArr[i]) {
                    flag = false;
                }
            }
            if (flag) break;
            answer++;
        }
        
        return answer;
    }
}