[코.기.트] 조건에 맞게 수열 변환하기 2

리프·2023년 5월 26일
0

프로그래머스

목록 보기
15/29

✔ 조건에 맞게 수열 변환하기 2 문제 보기


💻 코드

function solution(arr) {
    var answer = 0;
    while(true){
        let count = 0
        for(let i=0; i<arr.length; i++) {
            if(arr[i]>=50 && arr[i]%2==0) {
                arr[i] = arr[i]/2; count++;
            } else if(arr[i]<50 && arr[i]%2==1) {
                arr[i] = arr[i]*2 +1; count++;
            }
            else
                continue
        }
        if(count == 0)
            break;
      	answer++
    }
    return answer;
}

👀 설명

먼저, while문을 이용하여 배열 인덱스의 변화가 없을 때까지 계산을 한다. 인덱스 값이 변경되면 count에 1을 더한다. arr의 반복 횟수도 알아야 하므로 answer도 1을 더해준다.

만약 count가 0이라면 배열 인덱스의 변화가 없다는 뜻이므로 while문을 종료하고, answer 값을 리턴한다.


😎
코드가 너무 직관적이고 지저분한 느낌이 들어서... 나중에 리팩토링을 해야할 것 같다!

profile
프론트엔드 개발자가 되고 싶은 대학생의 공부 기록입니다.

0개의 댓글