https://www.acmicpc.net/problem/10814
풀이
참고자료: https://sunghyun98.tistory.com/60?category=956773
sort()메서드의 파라미터 값을 알 수 있는 문제입니다.(sorted()도 사용가능)
sort() 메서드의 파라미터는 key와 reverse가 존재합니다. reverse는 숫자를 내림차순으로 정렬해주는 기능을 합니다.
li=[1, 2, 3, 4, 5]
li.sort(reverse=True)
print(li)
>>> [5, 4, 3, 2, 1]
li=[1, 2, 3, 4, 5]
li=sorted(li, reverse=True)
print(li)
>>> [5, 4, 3, 2, 1]
이 문제에서 사용이되는 key는 sort()메서드나 sorted()와 같은 정렬 메서드를 사용할 경우 정렬하는 기준이 되는 요소를 지정해주는 파라미터입니다.
# 10814번 나이순 정렬
from sys import stdin
N = int(input())
s = []
for i in range(N):
age, name = stdin.readline().rstrip().split()
s.append((int(age), name))
# x는 리스트 s의 요소이며 x[0]은 age변수를 뜻한다.
s.sort(key=lambda x : x[0]) # key파라미터와 lambda를 이용해서 age변수를 기준으로 정렬하게 해준다.
for a, n in s:
print(f"{a} {n}")
for문이 아닌 sys.stdin.readlines()를 통해서 문단 전체를 문장 단위로 잘라서 사용도 가능합니다.
# 10814번 나이순 정렬
import sys
s = sys.stdin.readlines()[1:]
s.sort(key=lambda x : int(x.split()[0]))
print(''.join(s))
출력결과
1번코드
2번코드
'백준 > 구현' 카테고리의 다른 글
[백준] 4153번 직각삼각형 - 파이썬 (0) | 2022.07.18 |
---|---|
[백준] 1181번 단어 정렬 - 파이썬 (0) | 2022.07.18 |
[백준] 2751번 수 정렬하기 2 - 파이썬 (0) | 2022.07.16 |
[백준] 17219번 비밀번호 찾기 - 파이썬 (0) | 2022.07.16 |
[백준] 11723번 집합 - 파이썬 (0) | 2022.07.16 |