프로그래머스/파이썬_입문

진료 순서 정하기

싱싱한복초이 2024. 10. 11. 19:27

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

[문제 설명]

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

 

[나의 풀이]

def solution(emergency):
    sorted_emergency = sorted(emergency, reverse=True)
    return [sorted_emergency.index(i) + 1 for i in emergency]

인덱스는 0부터 시작하기때문에 +1을 해줘야 한다는걸 잊지말자!!

그리고 파이썬에서는 True를 그냥 T라고 쓰면 안되는 듯.. R에서는 되던데;

-참고

https://lungfish.tistory.com/entry/python-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EA%B0%92%EC%9D%84-%EC%88%9C%EC%84%9C%EB%93%B1%EC%88%98%EB%A1%9C-%EB%B0%94%EA%BE%B8%EA%B3%A0-%EC%8B%B6%EC%9D%84-%EB%95%8C

 

[python] 리스트 값을 순서(등수)로 바꾸고 싶을 때

🔍 예상 검색어 더보기 # 파이썬 리스트 등수로 바꾸기 # 파이썬 리스트 순서값으로 바꾸기 # 파이썬 등수 만들기 # 파이썬 등수 구하기 # 파이썬 순서 구하기 해당 포스팅은 리스트 값을 순서(등

lungfish.tistory.com

 

[다른 풀이]

def solution(emergency):
    return [sorted(emergency, reverse=True).index(e) + 1 for e in emergency]
def solution(emergency):
    answer = []
    emer_ls = {e: i + 1 for i, e in enumerate(sorted(emergency)[::-1])}
    for e in emergency:
        answer.append(emer_ls[e])
    return answer