https://www.acmicpc.net/problem/2750
오름차순 정렬 - sort 혹은 sorted 이용
sort - 리스트 자체를 변경 / sorted - 기존의 리스트가 아닌 정렬된 새로운 리스트 생성
문제에서 권장하는 방법으로 버블정렬, 삽입정렬을 사용할 수도 있다
버블정렬 - 첫 번째 자료와 두 번째 자료를, 두 번째 자료와 세 번째 자료를, 세 번째와 네 번째를, … 이런 식으로 (마지막-1)번째 자료와 마지막 자료를 비교하여 교환하면서 자료를 정렬하는 방식
N = int(input())
num_list = []
for i in range(N):
num_list.append(int(input()))
for i in range(len(num_list)):
for j in range(len(num_list)):
if num_list[i] < num_list[j] :
num_list[i], num_list[j] = num_list[j], num_list[i]
for n in num_list:
print(n)
삽입 정렬 - 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성시키는 방식.
N = int(input())
num_list = []
for i in range(N):
num_list.append(int(input()))
for i in range(1, len(num_list)):
while(i>0) and (num_list[i] < num_list[i - 1]):
num_list[i], num_list[i - 1] = num_list[i - 1], num_list[i]
i -= 1
for n in num_list:
print(n)
이번 문제의 경우 단순하게 sort 함수를 사용해 해결했다.
내 제출
N = int(input())
num_list = []
for i in range(N):
num_list.append(int(input()))
num_list.sort()
for i in range(len(num_list)):
print(num_list[i])