Algorithm/알고리즘 문제풀이
백준 2750 파이썬 - 수 정렬하기(삽입정렬)
devraphy
2021. 8. 24. 01:34
1. 문제 링크
https://www.acmicpc.net/problem/2750
2750번: 수 정렬하기
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
2. 나는 어떻게 생각했는가?
# 삽입정렬을 사용해서 풀어보자.
from typing import List
from sys import setprofile, stdin
input = stdin.readline
def insertion_sort(case: List[int]) -> List[int]:
for idx in range(1, len(case)):
current = case[idx]
flag = idx - 1
while flag >= 0 and current < case[flag]:
case[flag + 1] = case[flag]
flag = flag - 1
case[flag + 1] = current
return case
t = int(input())
case = []
for _ in range(t):
case.append(int(input()))
print("\n".join(map(str, insertion_sort(case))))