티스토리 뷰

programmers

[프로그래머스] 진료순서 정하기

대장형아 2023. 11. 22. 21:38

 

자바 풀이

class Solution {
    public int[] solution(int[] emergency) {
        int[] answer = {};
        
        answer = new int[emergency.length];
        
        for(int i=0; i<emergency.length; i++){
            for(int j=0; j<emergency.length; j++){
                if(emergency[i]<emergency[j]){
                    answer[i]+=1;
                }
            }
            answer[i]+=1;
        }
        return answer;
    }
}

 

 

입출력 예 1번(  [3,76,24]  )을 예시로 생각해보자. 

 

emergency 배열인 [3,76,24]를 하나의 배열을 두개로 놓고 비교 해보는 것이 가장 쉽게 생각 할 수 있는 방법이다. 

두개로 비교하기 위해 이중  for 문을 사용했다. 

 

i 가 0일때,

i 가 1일때,

 

i 가 2일때,

 for(int i=0; i<emergency.length; i++){
        for(int j=0; j<emergency.length; j++){
            if(emergency[i]<emergency[j]){
                answer[i]+=1;  -> 여기서는 [2,0,1]
            }
        }
        answer[i]+=1; -> [3,1,2]
 }

 

 

이중 for문에서 안쪽 for문을 탈출할때 answer[i]+=1; 을 한번 더 작성해주어야 원하는 결과값을 얻을 수 있다.   

 

 

결과

 

«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함
최근에 올라온 글
Total
Today
Yesterday