import sys

a=int(sys.stdin.readline().strip())
lists=[]
for i in range(a):
    lists.append(list(sys.stdin.readline().split()))
    lists.sort(key=lambda x:x[0])
for i in range(a):
    print(lists[i][0],lists[i][1])
   





최초 풀이는 위와 같았다.
여기서 두가지 실수를 했다
1) list sort를 반복문 안에서 돌려서 시간 초과가 났고
2)x[0] 기준 ( 나이)으로 잘 접근했으나 int형이 아닌 string형이라서 틀렸다.
 
아래는 최종으로 수정한 답

 

 

 

import sys

a=int(sys.stdin.readline().strip())
lists=[]
for i in range(a):
    lists.append(list(sys.stdin.readline().split()))
lists.sort(key=lambda x:int(x[0]))
for i in range(a):
    print(lists[i][0],lists[i][1])


    






'취준 > 백준' 카테고리의 다른 글

14889 - 파이썬  (0) 2022.05.02
14888 - 파이썬  (0) 2022.05.01
15650 - 파이썬  (0) 2022.04.05
15649 - 파이썬  (0) 2022.04.05
18870 - 파이썬  (0) 2022.04.04

*lambda

print((lambda x,y: x + y)(10, 20))
>>30
 

*.join(list)

'구분자'.join(list)

a=['a','b','c']

result="".join(a)

print(result)
 
>>>
abc
 
from sympy import re


a=["abc","def"]
result="_".join(a)
print(result)
>>>
abc_def

*리스트 컴프리핸션

1)1차원 리스트

a = [ i for i in range(10)]

print(a)
>>
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

1-1)1차원 리스트 조건부
a=[i for i in range(20) if i%2==1]
print(a)
>>
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

2) N*M 크기의 2차원 리스트와 초기화

array=[[0]*m for _ in range(n)]

 

m=2
n=3
array=[[0]*m for _ in range(n)]

print(array)
 
>>

[[0, 0], [0, 0], [0, 0]]

 

*f-format 출력

자리는 스페이스바로 띄우고, 오른쪽 정렬

print(f'{500: >10}')

양수일 땐 +로 표시, 음수일땐 -로 표시

print(f'{500: >+10}')

print(f'{-500: >+10}')

왼쪽 정렬하고, 빈칸 _로 채움

print(f'{-500:_<10}')

3자리 마다 콤마 찍어주기

print(f'{100000:,}')

3자리 마다 콤마 찍어주기 +-붙여서

print(f'{100000:+,}')

print(f'{-100000:+,}')

3자리마다 콤마를 찍어주는 데 부호도 붙이고 자릿수도 확보 빈 자리는 ^ 채우기

print(f'{1000000:^<+30,}')

소수점 출력

print(f'{5/3:f}')

특정 자리수

print(f'{5/3:.2f}')

#나도코딩

'프로그래밍 > 파이썬' 카테고리의 다른 글

#파이썬 - 기본문법정리[4]  (0) 2022.04.04
#파이썬 - 기본문법정리[3]  (0) 2022.04.04
#파이썬 - 기본문법정리[1]  (0) 2022.04.04
#파이썬 - 기본문법정리[0]  (0) 2022.04.04
*그리디 || 큰 수의 법칙  (0) 2022.02.10

+ Recent posts