[ baekjoon ] #2751 수 정렬하기 2

eunheelog·2023년 6월 26일
0

Python

목록 보기
1/1

백준 #2751 수 정렬하기 2

문제


N개의 수가 주어졌을 때, 오름차순으로 정렬하는 프로그램 작성하기 !

💡Idea

  1. N개 만큼 수를 입력 받아야하는데 어떻게 받을까?
    → python은 변수 선언, 동적할당 같은 개념이 없다.
    → list를 하나 만들고 N만큼 반복하며 append 하자 !
  2. 출력을 어떻게 할까?
    → list에서 하나씩 출력하자.

Code(PyPy3)

n = int(input())
list1 = []
for i in range (0, n):
    list1.append(int(input()))
list1.sort()
for i in list1:
    print(i)

Code(sys 사용)

import sys

n = int(sys.stdin.readline())
list1 = []
for i in range (0, n):
    list1.append(int(sys.stdin.readline()))
list1.sort()
for i in list1:
    print(i)

Feedback


  1. 처음에 python3으로 제출했더니 시간초과 발생.
    → 검색해보니 python3으로 시간초과가 발생할 경우 PyPy3으로 제출하면 될 수도 있다고 함
    → 그래서 PyPy3으로 제출해보니 통과 !
  2. 시간초과의 원인이 input() 함수인 것을 발견,,
    → input()함수의 경우 prompt message를 출력하고 개행 문자(\n)를 삭제한 값을 return 함
    → 이 문제를 해결하기 위해 sys.stdin.readline()을 사용해보았더니 해결 !

Remind


  1. input()과 sys.stdin.readline()의 차이점
    - input() 함수는 입력 받은 값의 개행 문자를 삭제하고 return
    - sys.stdin.readline()은 개행 문자 포함한 값 return
    → input() 함수는 prompt message를 출력하고 개행 문자를 삭제한 값을 리턴하기 때문에 sys.stdin.readline()이 더 빠르다 !!!
profile
⛧1일 1알고리즘⛧

0개의 댓글