목차

    문제 이름 및 링크

    마지막 두 원소

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

    출제 사이트

    프로그래머스

    문제유형 및 난이도

    문제유형: 기초

    난이도: 0레벨

    코드 설명

    문제 자체는 굉장히 쉬웠습니다.

    아래는 제 풀이입니다.

    읽기가 조금 불편하다는 점을 확인하실 수 있습니다.

    class Solution {
        public int[] solution(int[] num_list) {
            int[] answer = new int[num_list.length+1];
            System.arraycopy(num_list, 0, answer, 0, num_list.length);
            if(num_list[num_list.length-1] > num_list[num_list.length-2]) {
                answer[num_list.length] = num_list[num_list.length-1] - num_list[num_list.length-2];
            } else {
                answer[num_list.length] = num_list[num_list.length-1]*2;
            }
            return answer;
        }
    }

     

    아래는 다른 사람의 풀이입니다.

    같은 풀이지만 더 읽기 편하다고 느꼈습니다.

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

     

    쉬운 문제는 빨리 풀고 넘어가려고 하는데 읽기 편한 코드를 작성하는 습관을 만들 필요성을 느끼는 문제였습니다.