본문 바로가기
카테고리 없음

[프로그래머스]진료 순서 정하기 - java, python

by skysline 2023. 3. 13.
반응형

`진료 순서 정하기`

문제 설명

외가의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순설를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return 하도록 solution 함수를 완성해 주세요.

입출력 예


입출력 예

 

emergency가 [3, 76, 24]이므로 응급도의 크기 순서대로 번호를 매긴 [3, 1, 2]를 return합니다.

 

emergency가 [1, 2, 3, 4, 5, 6, 7]이므로 응급도의 크기 순서대로 번호를 매긴 [7, 6, 5, 4, 3, 2, 1]를 return합니다.

 

emergency가 [30, 10, 23, 6, 100]이므로 응급도의 크기 순서대로 번호를 매긴 [2, 4, 3, 5, 1]를 return합니다.

java code

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

1.emergency 배열의 길이와 같은 크기의 int형 배열 answer를 생성합니다.

2.현재 요소보다 값이 큰 다른 요소의 개수를 셉니다.

  •  이를 위해 cnt 변수를 1으로 초기화합니다.

3.현재 요소의 값보다 큰 다른 요소를 발견하면 cnt 값을 1 증가시킵니다.

  • 현재 요소의 우선순위는 cnt 입니다. 이 값을 answer 배열의 현재 요소에 저장합니다.

python code

def solution(emergency):
    answer = [0] * len(emergency)
    for i in range(len(answer)):
        cnt = 1
        for j in range(len(answer)):
            if emergency[i] < emergency[j]:
                cnt += 1
        answer[i] = cnt 
    return answer
반응형

댓글