서론
파이썬은 정렬이 이미 내장함수로 되어있지만 풀어보았다.
문제
삽입정렬(Insertion sort)은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여,
자신의 위치를 찾아 삽입하는 방법이다.
수열이 {5 4 3 7 6}이 있을 경우의 삽입정렬 과정은 다음과 같다.
처음상태에서 처음 값 5 앞에 아무것도 없으므로 5는 이미 정렬된 상태가 되므로, 이후 4부터 정렬과정을 살펴보자.
※ 3단계의 경우 7은 앞의 "3 4 5"보다 크므로 제자리에 삽입된다.
n개의 수열이 주어지면 위 같은 방법으로 정렬하는 과정 각 단계를 출력하는 프로그램을 작성하시오.
입력형식
첫줄에 수열의 길이 N(4≤N≤100)이 주어진다. 두 번째 줄에 N개의 0이상 100이하의 정수가 주어진다.
출력형식
처음 상태를 제외하고 정렬과정의 각 단계별 결과를 "출력예"와 같이 출력한다.
나의 풀이
n=int(input())
arr=list(map(int, input().split()))
for i in range(1,len(arr)):
for j in range(0, i):
if arr[i]<arr[j]:
arr[i], arr[j]=arr[j], arr[i]
for s in arr:
print(s, end=' ')
print()
+ 피드백과 새로운 풀이 방법은 언제든지 환영입니다!
'코딩테스트 > [python]정올' 카테고리의 다른 글
[python] 정올 1535 : 단어집합2 (0) | 2022.05.08 |
---|---|
[python] 정올 1880 : 암호풀기(Message Decoding) (0) | 2022.04.21 |
[python] 정올 2514 : 문자열 찾기 (0) | 2022.04.20 |
[python] 정올 2604 : 그릇 (0) | 2022.04.19 |
[python] 정올 1641 : 숫자삼각형 (0) | 2022.04.19 |
댓글