코딩항해기

[프로그래머스/JAVA] 마지막 두 원소 본문

problem solving/코딩 테스트

[프로그래머스/JAVA] 마지막 두 원소

miniBcake 2024. 6. 30. 11:25

[문제 설명]

정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.

 

[제한사항]

 

2 ≤ num_list의 길이 ≤ 10
1 ≤ num_list의 원소 ≤ 9

 

[코드]

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[num_list.length+1];
        for(int i=0;i<answer.length;i++){
            if(i<num_list.length){
                answer[i] = num_list[i];
            }
            else{
                answer[i] = answer[i-1]>answer[i-2]? answer[i-1]-answer[i-2] : answer[i-1]*2;
            }
        }
        return answer;
    }
}

 

 

[수정해야할 점]

for문 안에 if문을 넣어서 마지막 값의 데이터를 넣었는데,

그냥 for문을 num_list.length길이만큼 돌리고,

마지막 else문이 반복문이 끝나고 실행되도록 짜면 더욱 간단한 문제였다.

넓게 내다보는 점을 연습해야겠다.