코딩테스트연습/[프로그래머스] Java

[프로그래머스] Java 코딩테스트 연습 - 조건에 맞게 수열 변환하기 1

_꼬마돌 2023. 6. 22. 20:13
반응형

[프로그래머스] Java 코딩테스트 연습 - 조건에 맞게 수열 변환하기 1

문제 출처

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

 

프로그래머스

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

programmers.co.kr

 

문제

정수 배열 arr가 주어집니다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱합니다. 그 결과인 정수 배열을 return하는 solution함수를 완성해 주세요.

 

풀이

각 반복마다 arr의 각 원소들이 50 이상인지 비교하고, 2로 나눴을 때 나머지가 0인지 여부로 홀짝을 구분했다. 문제의 조건대로 50보다 크거나 같은 짝수라면 각 원소들을 2로 나누고 50보다 작은 홀수라면 2를 곱해 answer에 할당했다. 두 조건 어디에도 해당하지 않는 값들은 그대로 할당되도록 했다.

 

소스코드

class Solution {
    public int[] solution(int[] arr) {
        int[] answer = new int[arr.length];
        
        for (int i = 0; i < arr.length; 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;
            } else {
                answer[i] = arr[i];
            }
        }
        
        return answer;
    }
}

 

반응형