알고리즘(algo)/백준

[백준] 10814번 - 나이순 정렬

dDong2 2023. 1. 29. 10:48
참고: https://www.acmicpc.net/problem/10814

 

✔️ 문제

 

 

문제는 다음과 같다.

 

 

✔️ 풀이

 

 

예제를 보면 나이순으로 정렬을 하고,

정렬한 나이가 같으면 들어온 순서대로 입력받은 것대로

출력하면 되는 문제이다.

 

import sys
ss=sys.stdin.readline

N=int(ss())
data=[ss().rstrip().split() for _ in range(N)]

data.sort(key=lambda x:x[0])
for i in range(len(data)):print(*data[i])

 

이전 문제와 동일하게 나이만 정렬하여 제출하였는데,

4%에서 틀리는 경험을 할 수 있다.

 

왜 그런가하고 생각을 해보았더니, data를 입력받는 부분에서

기존에 int형으로 map을 돌리거나 형변환하는 과정이 없어서

들어오는 숫자가 문자형으로 저장되는 오류를 범하고 있었다.

 

import sys
ss=sys.stdin.readline

N=int(ss())
data=[ss().rstrip().split() for _ in range(N)]

data.sort(key=lambda x:int(x[0]))
for i in range(len(data)):print(*data[i])

 

다음과 같이 정렬을 진행하는 나이가 문자가 아닌

int형으로 형변환을 해줘야 틀리지 않게 된다.

 

화이팅 💪