[백준] 10814번. 나이순 정렬 (Python)

윤라이트·2024년 2월 23일

백준 코딩테스트

목록 보기
23/25


[실버 5] 10814번. 나이순 정렬





문제 풀이

  1. N 입력 받기
  2. N * 2 크기의 list 초기화 하기 (2는 나이와 이름)
  3. 나이, 이름 입력 받기
  4. 나이만 정렬 하기
  5. 출력 하기

위 순서대로 코드를 작성해 보았다.



[X] 10814번. 나이순 정렬 (Python)

N = int(input())

name = [[0] * 2 for i in range(N)]

for i in range(N) :
    name[i][0], name[i][1] = input().split()

name.sort(key = lambda x : x[0])

for i in range(N) :
    print(name[i][0], name[i][1])

출력은 그대로 나오는데 제출하면 "틀렸습니다."라고 뜬다.
왜인가?

혹시나 시간 초과일까봐 pypy로 제출해 봤는데
똑같네ㅎ



[정답 코드] 10814번. 나이순 정렬 (Python)

N = int(input())

user = []

for i in range(N) :
    age, name = input().split()
    user.append([int(age), name]) 

user.sort(key = lambda x : x[0])

for i in range(N) :
    print(user[i][0], user[i][1])

2차원 리스트 입력 받을 때 for문을 사용한 탓인 건가 싶어서 age, name을 따로 입력 받음. 그리고 리스트에 추가하는 방식으로 작성하니까 정답 나옴!

key = lambda에 관한 설명은 여기

profile
끝까지 가보자9~!!!🔥✨💡

0개의 댓글