목차
문제 이름 및 링크
마지막 두 원소
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;
}
}
쉬운 문제는 빨리 풀고 넘어가려고 하는데 읽기 편한 코드를 작성하는 습관을 만들 필요성을 느끼는 문제였습니다.
'알고리즘 > 코딩테스트 준비' 카테고리의 다른 글
| 구명보트 - Greedy에서 Priority Queue 활용법 (0) | 2023.09.20 |
|---|---|
| 공백으로 구분하기2 - 문자열 문제는 쓰는 기능만 쓰게 되는 것 같다. trim과 정규화의 활용성 (0) | 2023.08.17 |
| 카펫 - 수학적으로 풀었다고 생각한 풀이와 진짜 수학적 풀이 (0) | 2023.08.16 |
| 짝지어 제거하기 (0) | 2023.08.14 |
| 다음 큰 숫자 - Integer.bitCount()의 발견 (0) | 2023.08.14 |
