프로그래머스/JAVA
[프로그래머스][자바] 진료 순서 정하기
달의요정루나
2023. 7. 8. 17:03
https://school.programmers.co.kr/learn/courses/30/lessons/120835
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
class Solution {
public int[] solution(int[] emergency) {
int[] answer = new int[emergency.length];//new 연산자로 answer배열 객체를 생성한다.
Integer arr[] = new Integer[emergency.length];//emergency숫자의 진료순서를 담을 배열이다.
for (int i = 0; i < emergency.length; i++) {
arr[i]=emergency[i];//arr배열에 emergency배열에 있는 값을 옮겨온다.
}
Arrays.sort(arr,Collections.reverseOrder());
//sort메소드와 reverseOrder메소드로 arr값들을 내림차순으로 정렬한다.
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < arr.length; i++) {
map.put(arr[i],i+1);//Map인터페이스로 첫번째 arr값(key)부터 의료순서(value)를 부여한다.
}
for (int i = 0; i < emergency.length; i++) {
answer[i]=map.get(emergency[i]);
//map.get을 통해 emergency배열 값에 따른 의료순서를 answer배열에 저장한다.
}
return answer;
}
}