오도원입니다.

건강과 행복을 위하여

컴퓨터공학/알고리즘

[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])
반응형

'컴퓨터공학 > 알고리즘' 카테고리의 다른 글

[codeup] 3720. nCr  (0) 2020.04.20
[codeup] 3014. 정렬을 빠르게  (0) 2020.04.19
[codeup] 3004. 데이터 재정렬  (0) 2020.04.19
[codeup] 3006. 완전 제곱수 찾기  (0) 2020.04.19
Python Algorithm Session Curriculum  (0) 2020.04.10