본문 바로가기

코딩/백준 (단계별)

백준 10814 파이썬 런타임에러 해결

반응형

백준 10814 - 나이순 정렬

문제

https://www.acmicpc.net/problem/10814

 

10814번: 나이순 정렬

온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을

www.acmicpc.net

 

10814번

답안 코드 :

# 회원 수 입력
N = int(input())

# 회원 정보 입력 및 리스트에 저장
members = []
for i in range(N):
    age, name = input().split()
    members.append((int(age), name, i))

# 나이가 증가하는 순으로 정렬, 나이가 같으면 가입한 순으로 정렬
members.sort(key=lambda x: (x[0], x[2]))

# 정렬된 회원 정보 출력
for member in members:
    print(member[0], member[1])

 

백준 / 문제 / 단계별로 풀어보기 / 13단계 정렬

 

생각 :

# 회원 수 입력
N = int(input())

# 회원 정보 입력 및 리스트에 저장
members = []
for _ in range(N):
    age, name = map(str, input().split())
    members.append((int(age), name))

# 나이가 증가하는 순으로 정렬, 나이가 같으면 가입한 순으로 정렬
members.sort(key=lambda x: (x[0], members.index(x)))

# 정렬된 회원 정보 출력
for member in members:
    print(member[0], member[1])
    
## 처음 코드 위는 런타임에러 
#  O(N^2)의 시간 복잡도

반응형

'코딩 > 백준 (단계별)' 카테고리의 다른 글

백준 10815 파이썬  (3) 2024.04.14
백준 18870 파이썬 딕셔너리  (14) 2024.04.13
백준 1181 파이썬 .strip()와 lambda  (10) 2024.04.11
백준 11651 파이썬  (13) 2024.04.10
백준 11650 파이썬 lambda  (4) 2024.04.09