Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 조건에 맞게 수열 변환하기 1 (Java/자바) 본문

알고리즘문제/프로그래머스(Java)

[프로그래머스] - 조건에 맞게 수열 변환하기 1 (Java/자바)

luke-king 2025. 11. 30. 13:53

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/181882

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


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

이번 문제는 프로그래머스 "조건에 맞게 수열 변환하기 1 " 문제다.

문제 접근은 arr[] 배열에 있는 각 인덱스 값들 중 50 이상, 짝수 이면 2를 나눠주고 50 이하, 홀수 이면 2를 곱해주는 문제다.

그럼 바로 풀이 해보겠다.

 

1. answer[] 크기는 arr의 길이만큼 지정해 준다.

 

2. 각 인덱스 값들을 조건에 비교하기 위해 for문을 사용한다.

 

3. 조건에 충족되지 않는 값들은 따로 넣어 주기 위해 for문 시작 하자마자 answer[i] 에 arr[i] 값을 넣어준다.

 

4. 첫 번째 조건식에는 arr[i] 값이 50이상이고 짝수 일때 실행될 조건을 넣어준다. 두개가 다 충족 되어야 하니 && 연산자 사용

그러면 arr[i] 값을 2로 나눠 answer[i] 에 넣어준다.

 

5. 두 번째 조건식 또한 50 이하이고 홀수 일 때 실행될 조건을 넣어준다. 그다음 arr[i] 값을 2로 곱해 answer[i] 에 넣어준다.  그럼 끝이다.