본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Silver 5][Python] 2751번 : 수 정렬하기 2

by 빛밤하늘 2021. 5. 24.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

2751번: 수 정렬하기 2

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

www.acmicpc.net

 

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# readline을 사용하기 위해 import합니다.
from sys import stdin

# 첫째 줄에 수의 개수 N을 입력합니다.
# 1 <= N <= 1,000,000
# 정수형으로 변환합니다.
N = int(stdin.readline())

# 숫자들을 저장할 리스트 변수를 선언합니다.
# N개의 None으로 초기화해줍니다.
numbers = [None] * N

# 수의 개수 N만큼 반복합니다.
for number_idx in range(N):
    # 숫자를 하나 입력하고 정수형으로 변환한 뒤 numbers에 넣어줍니다.
    numbers[number_idx] = int(stdin.readline())

# numbers에 있는 숫자들을 오름차순으로 정렬해줍니다.
numbers.sort()

# numbers에 있는 숫자들을 한 줄에 하나씩 출력합니다.
for number in numbers:
    print(number)

결과

 

첫 번째 제출할 때는 숫자를 하나씩 입력하면 append 메서드를 사용해서 넣어줬는데,

그 부분이 시간 초과가 나는 이유였던 것 같습니다.

그리고 입력 케이스들이 방대해서 그런지 다른 사람들의 파이썬 결과 실행 시간들도 오래 걸리는 편이었습니다.

그런 와중에 1100ms 정도의 실행 시간 코드를 내신 분도 있었습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글