[백준] 2750번 : 수 정렬하기 / Python

    반응형
    SMALL

    문제

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

     

    입력

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

     

    출력

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

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

     

    2750번: 수 정렬하기

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

    www.acmicpc.net


    풀이

    N = int(input())
    
    sortList = []
    
    if (N / 1001) >= 1:
        exit()
    else:
        for _ in range(N):
            N2 = int(input())
    
            sortList.append(N2)
        sortList.sort() 
    
        for i in sortList:
            print(i)

    위 코드와 같이 Python에서 기본으로 제공하는 함수인 sort 함수를 사용하면 아주 쉽게 해결할 수 있다.

     

    코드설명

    우선 아래의 코드처럼 if문을 사용하여 사용자 입력 값이 1000보다 클 경우 코드를 그냥 종료 시키도록 해주었다.

    if (N / 1001) >= 1:
        exit()
    else:
    	...

    그리고 사용자 입력 값이 1000보다 작을 경우 아래의 코드가 동작 된다.

        for _ in range(N):
            N2 = int(input())
    
            sortList.append(N2)
        sortList.sort() 
    
        for i in sortList:
            print(i)

    위의 코드는 N의 값이 5일 경우 5번 동안 사용자 입력을 받는다. 그리고 받은 값은 모두 sortList라는 List 변수에 append 함수를 통해 값이 추가된다. 그리고 모든 값이 append된 sortList 변수의 값들은 이제 sort() 함수에 의해 오름 차순으로 정렬된다. 즉, 원래 sortList에 [5, 2, 3, 4, 1]라는 값이 있었다면, sort()함수를 사용하면 [1, 2, 3, 4, 5] 형식으로 정렬이된다. 그러면 이제 for문을 사용하여 index N-N부터 index N까지 반복하면서 print 시키면 된다.

    반응형
    LIST

    'Algorithm > BoJ (BaekJoon)' 카테고리의 다른 글

    [백준] 1436번 : 영화감독 숌 / Python  (1) 2022.01.14

    댓글