[알고리즘문제풀기] 진료 순서 정하기

silver's avatar
Jan 09, 2025
[알고리즘문제풀기] 진료 순서 정하기

문제

내가 작성한 정답

import java.util.*; class Solution { public int[] solution(int[] emergency) { Integer[] emergency2 = new Integer[emergency.length]; for(int i=0; i<emergency.length; i++){ emergency2[i] = emergency[i]; } Arrays.sort(emergency2,Collections.reverseOrder()); Map<Integer,Integer> map = new HashMap<>(); for(int i=0; i<emergency2.length; i++ ){ map.put(emergency2[i],i+1); } for(int i =0; i< emergency.length; i++){ emergency[i] = map.get(emergency[i]); } return emergency; } }

다른 사람들의 정답

class Solution { public int[] solution(int[] emergency) { int[] answer = new int[emergency.length]; for(int i = 0; i < answer.length; i++){ if(answer[i] != 0){ // 순위가 있을 경우 continue; // 건너뜀 } int idx = 1; // 순위 초기화 for(int j = 0; j < answer.length; j++){ if(emergency[i] < emergency[j]){ idx++; // 더 높은 응급도를 가지면 순위 증가 } } answer[i] = idx; // 응급도에 해당하는 순위를 answer에 저장 } return answer; } }
💡
continue는 Java에서 사용하는 제어문 중 하나로 반복문(for, while, do-while) 내에서 사용된다. continue를 만나면 현재 반복의 나머지 코드를 건너뛰고, 다음 반복으로 넘어가게 됩니다.
Share article

silver