Code/Python

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

ki1111m2 2023. 9. 28. 16:26

버블 정렬을 이용한 문제

 

범위를 1개씩 줄여가며 정렬을 수행한다.

해당 인덱스의 요소와 다음 인덱스의 요소를 비교하여 오름차순으로 정렬한다.

# 수 정렬하기
# N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
# 첫째 줄에 수의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이며, 중복되지 않는다.
# 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

import sys
input = sys.stdin.readline

n = int(input())
num = [0] * n
for i in range(n):
    num[i] = int(input())

for j in range(n, 0, -1):
    for i in range(n - 1):
        if num[i] > num[i + 1]:
            tmp = num[i]
            num[i] = num[i + 1]
            num[i + 1] = tmp

for i in range(n):
    print(num[i])

 

파이썬 for문에서 범위를 역순으로 지정하고 싶다면

 

for i in range(n, 0, -1)

혹은

for i in reversed(range(n))

 

과 같이 사용할 수 있다.

'Code > Python' 카테고리의 다른 글

[Python] 백준 1427번 소트인사이드  (1) 2023.09.28
[Python] 백준 1377번 버블 소트  (0) 2023.09.28
[Python] 백준 11286번 절댓값 힙  (0) 2023.09.27
[Python] 백준 17298번 오큰수  (0) 2023.09.27
[Python] 백준 2164번 카드2  (0) 2023.09.26