프로그래머스/파이썬_입문
진료 순서 정하기
싱싱한복초이
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에서는 되던데;
-참고
[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