반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/181927?language=java
문제 내용은 지적 재산 보호 차원에서 가져오지 않고 풀이만 공유드리도록 하겠습니다.
풀이
제 풀이가 무조건적으로 맞는 것도 최적의 답변도 아니지만, 이런 풀이도 있다는 차원에서 작성해 보며, 좀 더 나은 방법이 있다면 이야기해 주셔도 도움 될 것 같습니다.
class Solution {
public int[] solution(int[] num_list) {
// 1. 결과 반환을 위한 Array 선언
// 전달 받은 array에 1개가 추가되므로 전체 array 개수를 num_list의 개수 +1로 선언해줍니다.
int[] answer = new int[num_list.length + 1];
// 2. 기존 데이터 추가
// 전달받은 num_list를 answer array에 추가해줍니다.
for(int i = 0; i < num_list.length; i++){
answer[i] = num_list[i];
}
// 3. 뒤에서 두 번째 값을 a, 뒤에서 첫 번째 값을 b로 선언해줍니다.
int a = num_list[num_list.length - 2];
int b = num_list[num_list.length - 1];
// 4. 뒤에서 두 번째 값이 뒤에서 첫 번째 값보다 작으면, b - a
// 그 외에 경우에 b *2를 answer의 마지막 값으로 추가해줍니다.
if(a < b) answer[answer.length - 1] = b - a;
else answer[answer.length - 1] = b * 2;
// 5. 반환합니다.
return answer;
}
}
반응형
'개발 창고 > Algorithm' 카테고리의 다른 글
[프로그래머스] PCCE 기출문제 10번 / 데이터 분석 - JAVA (144) | 2024.01.18 |
---|---|
[ALGORITHM] QUICK SORT (129) | 2024.01.11 |
[프로그래머스] PCCE 기출문제 9번 / 이웃한 칸 - JAVA (103) | 2024.01.09 |
[프로그래머스] 가장 많이 받은 선물 - JAVA (48) | 2024.01.07 |
[프로그래머스] PCCP 기출문제 1번(붕대감기) (0) | 2023.12.08 |