컴퓨터공학/알고리즘
[codeup] 3019. 스케줄 정리
오도원공육사
2020. 4. 19. 19:23
반응형
https://codeup.kr/problem.php?id=3019
스케줄 정리
5 sleep 2014 05 23 golf 2014 06 02 travel 2015 11 22 baseball 2013 02 01 study 2014 05 23
codeup.kr
1. 문제
날짜별를 기준으로 스케줄을 정리한 후 스케줄명을 출력하라.
2. 알고리즘
주어진 문자열을 날짜를 기준으로 정렬한 후 스케줄명을 출력한다. 년도, 월, 일, 스케줄명 사전순으로 비교하여 정렬한다.
3. 팁
python에서 제공하는 sorted함수를 사용하면 매우 쉽게 문제를 풀 수 있다. python에서 정렬 혹은 비교와 같은 함수들은 모두 기준(key)를 정할 수 있다.
4. 소스코드
# 입력처리
n = int(input())
schedules = [list(input().split()) for _ in range(n)]
# 년도기준으로 비교, 같으면 월로 비교, 같으면 일, 같으면 스케줄명 사전순으로 비교
schedules = sorted(schedules, key=lambda x: (int(x[1]), int(x[2]), int(x[3]), x[0]))
# 결과 출력
for i in schedules:
print(i[0])
반응형