[프로그래머스][파이썬] 진료순서 정하기 - 배열 (Level 0)

뻥튀기아이스크림·2025년 3월 15일
1
post-thumbnail

◽ 문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120835

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

def solution(emergency):
    answer = []
    sorted_emergency = sorted(emergency, reverse = True)
    
    for i in emergency:
        answer.append(sorted_emergency.index(i) + 1)
        
    return answer
  • 응급도인 emergency 배열의 크기가 클 수록 응급도가 높은것이니, 인덱스를 활용하기 위해 역순으로 정렬하고, 출력은 0번이 아닌 1번 부터니까 인덱스 + 1 해서 반환했다.

◽ 다른 사람 풀이

def solution(emergency):
    arr = []
    
    for i in emergency:
        idx = 1
        
        for j in emergency:
            if i < j:
                idx += 1
        arr.append(idx)
        
    return arr
  • 애초에 인덱스를 따로 저장하고, 값을 바로 비교하여 정렬하는 방식스럽게 접근한, 정렬을 직접 안하고 구현한 유일한 풀이이다.

◽ 더 나아가기

  • 인덱스로 접근하는 방식은 동일하다.
  • 하지만 인덱스로 접근할 때 무조건 index() 함수를 사용하지 않아도 된다는 생각을 명심하자.



피드백은 언제나 환영입니다 :)

profile
성장하고 싶은 개발자

0개의 댓글