김두두의 블로그

[파이썬] 백준 2750번 수 정렬하기 본문

it

[파이썬] 백준 2750번 수 정렬하기

두두100 2022. 3. 16. 23:26

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

 

2750번: 수 정렬하기

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.

www.acmicpc.net

두 문제 풀려고 시도하다가 막혀서 이 문제를 풀기로 했다.

 

평소대로 n=int(input)) 한다음에

https://doing7.tistory.com/49

 

[Python] 데이터 입력받기

💡 input() 1. 정수를 한줄에 입력받아 리스트에 저장 > data = input() 입력> 1 2 3 4 결과 : data = '1 2 3 4' > data = input().split() 입력> 1 2 3 4 결과 : data = ['1', '2', '3', '4'] split()은 받은 문..

doing7.tistory.com

이 블로그 참고해서 

import sys
n = int(input())
data = [int(input) for i in range(n)]

이런식으로 시도하였으나

3
Traceback (most recent call last):
  File "C:ㅇㅇ.py", line 2, in <module>
    data=[int(input) for i in range(n)]
  File "C:ㅇㅇ", line 2, in <listcomp>
    data=[int(input) for i in range(n)]
TypeError: int() argument must be a string, a bytes-like object or a number, not 'builtin_function_or_method'

자꾸 이딴식으로 나와서;;

 

https://growingarchive.tistory.com/157

 

[Python/파이썬] 파이썬 입력받는 방법 with input()과 sys.stdin.readline()

백준 입출력 문제를 풀면서 가장 신경써야했던 부분은 '제한시간'이였다. 문제를 제대로 풀었어도 제한시간을 초과해버리면 오답이기 때문이다. 보편적으로 입력받는 방법은 input함수를 쓰는

growingarchive.tistory.com

이 블로그를 참고해서 n도 sys 어쩌고저쩌고로 받기로 했다.

 

import sys
n=int(sys.stdin.readline())
data=[int(sys.stdin.readline()) for i in range(n)]
print(data.sort)

그래서 이렇게 작성했는데 결과가

3
1
5
2
<built-in method sort of list object at 0x000002750DC8CC40>

이렇게 나와서 난 할 말을 잃어버렸다... 나 할 거 많은데 ㅠㅠ 왜 이렇게 안풀리는거니!!

 

그래서 print(data.sort)대신 print(data)를 일단 해보기로 했다.

3
5
2
8
[5, 2, 8]

문제없이 나온다....

 

-------------------------------------------------------------------------------------------------------------------------------

구글링을 해봤더니

https://okky.kr/article/836685

 

OKKY | sys.stdin.readline().split()를 sort 했을때 순서가 이상해요..

배열합치기 문제로 정렬된 배열 2개가 주어지면 배열을 합친 후 크기가 작은 순서대로 재출력을 하는 문제입니다. 정수를 입력받길레 input 대신에 sys를 가져와서 사용해 보았는데요 결과가 11이

okky.kr

이런 좋은 글을 발견했다!!

import sys
n=int(sys.stdin.readline())
data=[int(sys.stdin.readline()) for i in range(n)]
data.sort()

for i in range(len(data)):
	print(data[i])

완성!!!

밑의 두번째 줄은 생각치 못했는데 새롭다. 

빨리 영단어 제출해야지 ㅠ 벌써 11시 26분이네