문제
외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다.
정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요.
코드
public static int[] solution(int[] emergency) {
int[] answer = new int[emergency.length];
int[] arr = Arrays.copyOf(emergency, emergency.length);
Arrays.sort(emergency);
for (int i = 0; i < answer.length; i++) {
for (int j = 0; j < arr.length; j++) {
if(arr[i] == emergency[j]) {
answer[i] = emergency.length - j;
}
}
}
return answer;
}풀이
기존 배열을 복사하여 비교할 배열을 만들었다.
기존의 배열은 오름차순 정렬을해서 중요의 역순으로 배치하였다.
배열이 3개라고할때
오름차순(중요도 )1 2 3
원래 위치 중요도 순서 3 1 2
j len-3 len-2 len-1 인덱스 위치
// 3: j0 = len-3 -> 3 = len - j0
// 1: j2 = len-1 -> 1 = len - j2
// 2: j1 = len-2 -> 2 = len - j1
'문제 풀이 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 lv1 부족한금액계산하기 (0) | 2023.02.27 |
|---|---|
| 프로그래머스 lv0 숨어있는숫자의덧셈2 (0) | 2023.02.27 |
| 프로그래머스 lv1 제일작은수제거하기 (0) | 2023.02.24 |
| 프로그래머스 lv1 x만큼간격이있는n개의숫자 (0) | 2023.02.23 |
| 프로그래머스 lv0 문자열 정렬하기2 (0) | 2023.02.22 |