파이썬 백준 5635번
실버 5
https://www.acmicpc.net/problem/5635
문제 보기
분류: 구현, 문자열, 정렬
문제 풀기
분할되어있는 일, 월, 년 숫자를 공백없이 년월일(20221227) 8자리 숫자로 붙이고 이름과 함께 리스트에 저장한다.
문자형 숫자로 된 생일을 정렬하여 가장 나이가 많은 사람, 가장 나이가 적은 사람을 출력한다.
코드 보기
import sys
inputdata = sys.stdin.readline
def fnRearrange():
restdt_info = []
if len(stdt_info[2]) == 1: ## '일' 자리가 한자리 숫자 일때 앞에 0 을 추가.
stdt_info[2] = '0' + stdt_info[2]
if len(stdt_info[1]) == 1: ## '월' 자리가 한자리 숫자 일때 앞에 0 을 추가.
stdt_info[1] = '0' + stdt_info[1]
restdt_info.append(stdt_info[3] + stdt_info[2] + stdt_info[1]) ## 년월일 순서로 합쳐서 표기 '20221227'.
restdt_info.append(stdt_info[0])
student_ls.append(restdt_info)
def fnBirthday():
student_ls.sort() ## index 0 에 대해 오름차순 정렬.
print(student_ls[-1][1]) ## 가장 나이가 많은 사람.
print(student_ls[0][1]) ## 가장 나이가 적은 사람.
if __name__ == "__main__":
n = int(inputdata().strip())
student_ls = []
for _ in range(n):
stdt_info = list(map(str, inputdata().split()))
fnRearrange()
fnBirthday()
추가 하기
예제 입력에 대한 출력
import sys
inputdata = sys.stdin.readline
def fnRearrange():
restdt_info = []
if len(stdt_info[2]) == 1: ## '일' 자리가 한자리 숫자 일때 앞에 0 을 추가.
stdt_info[2] = '0' + stdt_info[2]
if len(stdt_info[1]) == 1: ## '월' 자리가 한자리 숫자 일때 앞에 0 을 추가.
stdt_info[1] = '0' + stdt_info[1]
restdt_info.append(stdt_info[3] + stdt_info[2] + stdt_info[1]) ## 년월일 순서로 합쳐서 표기 '20221227'.
restdt_info.append(stdt_info[0])
# print(restdt_info) # test print
student_ls.append(restdt_info)
def fnBirthday():
student_ls.sort() ## index 0 에 대해 오름차순 정렬.
print(student_ls) # test print
print(student_ls[-1][1]) ## 가장 나이가 많은 사람.
print(student_ls[0][1]) ## 가장 나이가 적은 사람.
if __name__ == "__main__":
n = int(inputdata().strip())
student_ls = []
for _ in range(n):
stdt_info = list(map(str, inputdata().split()))
# print(stdt_info) # test print
fnRearrange()
fnBirthday()
# 5
# Mickey 1 10 1991
# Alice 30 12 1990
# Tom 15 8 1993
# Jerry 18 9 1990
# Garfield 20 9 1990
# [['19900918', 'Jerry'], ['19900920', 'Garfield'], ['19901230', 'Alice'], ['19911001', 'Mickey'], ['19930815', 'Tom']]
# Tom
# Jerry
'공부하기 > 백준' 카테고리의 다른 글
[Python] 백준 풀기 2941 - 크로아티아 알파벳 (0) | 2022.12.29 |
---|---|
[Python] 백준 풀기 1453 - 피시방 알바 (0) | 2022.12.28 |
[Python] 백준 풀기 1475 - 방 번호 (0) | 2022.12.26 |
[Python] 백준 풀기 5800 - 성적 통계 (0) | 2022.12.25 |
[Python] 백준 풀기 1316 - 그룹 단어 체커 (0) | 2022.12.24 |