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

내풀이
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];
}
answer[num_list.length]
= (num_list[num_list.length-1] > num_list[num_list.length-2]? num_list[num_list.length-1]-num_list[num_list.length-2] : num_list[num_list.length-1]*2);
return answer;
}
}
다른풀이
import java.util.stream.IntStream;
class Solution {
public int[] solution(int[] num_list) {
return IntStream.iterate(0, i -> i + 1)
.limit(num_list.length + 1)
.map(i -> i == num_list.length ? (num_list[i - 1] > num_list[i - 2] ? num_list[i - 1] - num_list[i - 2] : 2 * num_list[i - 1]) : num_list[i])
.toArray();
}
}
느낀점
맨 마지막 숫자와 그 앞의 숫자가 같을 경우는 어떻게 처리할지 제시되어 있지 않아서
나도 두 숫자가 같을 경우는 고려하지 않았다
다른 사람들의 코드를 봐도 딱히 없었음
문제 자체는 쉬웠지만 있을 수 있는 경우의 수나 예외처리를 중요하게 생각하는 나에게는 조금 불편한 문제였다
'개인 공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 수 조작하기2 (0) | 2024.01.26 |
---|---|
[프로그래머스] 수 조작하기1 (1) | 2024.01.25 |
[프로그래머스] 카운트 다운 (0) | 2024.01.23 |
[프로그래머스] 카운트 업 (0) | 2024.01.21 |
[프로그래머스] 홀수 vs 짝수 (0) | 2024.01.20 |