[알고리즘] 백준 2751 (파이썬 풀이)

    728x90

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

     

    2751번: 수 정렬하기 2

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

    www.acmicpc.net

    문제

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

    입력

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

    출력

    첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

    해결코드

    import sys
    
    n = int(sys.stdin.readline())
    li = []
    for i in range(n):
        li.append(int(input()))
    li.sort()
    for i in li:
        print(i)

    문제풀이

    이 문제는 그냥 정렬해서 출력하면 되는 문제이다. 다만 시간복잡도가 클 것으로 예상되므로 python3

    보다는 pypy3에서 채점을 진행하였다.

    일단 입력시간이라도 줄이기 위하여 readline을 사용했다.

    숫자 n개를 입력받고, li라는 리스트 하나를 선언한다.

    for문을 돌려 li의 원소값들을 n개 받아준다.

    그리고 li.sort()를 하면 기본값으로 오름차순으로 정렬된다.

    그리고 for문을 또 돌려 한줄에 하나씩 출력하면 된다.

    728x90

    댓글