반응형
https://school.programmers.co.kr/learn/courses/30/lessons/181851
lambda를 사용한 정렬 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
학생 번호, 등수를 key, value로 저장할 hash map participants를 선언 해 줍니다.
📔 풀이과정
1. rank의 index에 대해 for loop를 수행하며 participants에 참석 가능한 학생들의 번호와 등수를 저장합니다.
2. sorted_participants를 선언해 participants의 item들 중 value에 대해 오름차순으로 정렬해준 tuple의 배열들을 저장합니다.
3. a, b, c값은 sorted_participants의 tuple 0, 1, 2 index의 첫 번째 원소가 됩니다. 이는 0번, 1번, 2번 등수의 학생번호를 뜻하며 각 값을 저장해줍니다.
📔 정답 출력 | 반환
10000 * a + 100 * b + c를 반환합니다.
📕 Code
📔 Python3
def solution(rank, attendance):
participants = {}
for i in range(0, len(rank)):
if attendance[i]:
participants[i] = rank[i]
sorted_participants = sorted(participants.items(), key = lambda x: x[1])
a = sorted_participants[0][0]
b = sorted_participants[1][0]
c = sorted_participants[2][0]
return 10000 * a + 100 * b + c
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Sorting' 카테고리의 다른 글
(Python3) - 프로그래머스(코딩테스트 입문) : 최댓값 만들기 (2) (0) | 2024.10.31 |
---|---|
(Python3) - 프로그래머스(코딩테스트 입문) : 최댓값 만들기(1) (0) | 2024.10.28 |
(Python3) - 프로그래머스(코딩 기초 트레이닝) : 뒤에서 5등 뒤로 (0) | 2024.10.20 |
(Python3) - 프로그래머스(코딩 기초 트레이닝) : 뒤에서 5등까지 (1) | 2024.10.20 |
(C++) - LeetCode (easy) 1710. Maximum Units on a Truck (0) | 2024.06.18 |