[백준 문제풀이] 2750번 수 정렬하기(with. python)

RyeonD·2021년 10월 14일
0

알고리즘 문제풀이

목록 보기
7/11

입력 받은 숫자들을 정렬하는 정렬문제이다. sort()를 이용해서 간단하게 풀 수 있었지만 다른 정렬 알고리즘(삽입, 버블)도 사용해보고자 하였다.

삽입 정렬

import sys
input = sys.stdin.readline

# insertion sort
def insertion_sort(n, arr):
    for i in range(1, n):
        while (i > 0) and (arr[i-1] > arr[i]):
            arr[i-1], arr[i] = arr[i], arr[i-1]
            i -= 1        
                     
    return arr

# N값
n = int(input())

# N개의 수
arr = [int(input()) for _ in range(n)]

# 정렬
arr = insertion_sort(n, arr)

# 출력
for i in arr:
    print(i)

버블 정렬

import sys
input = sys.stdin.readline

# bubble sort
def bubble_sort(n, arr):
    for i in range(1,n):
        for j in range(n-i):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
                # temp = arr[j]
                # arr[j] = arr[j+1]
                # arr[j+1] = temp

    return arr

# N값
n = int(input())

# N개의 수
arr = [int(input()) for _ in range(n)]

# 정렬
# arr = bubble_sort(n, arr)

# 출력
for i in arr:
    print(i)

최종 코드 - sort()

import sys
input = sys.stdin.readline
![](https://velog.velcdn.com/images%2Fluvlik207%2Fpost%2F4d975148-85d0-4427-8822-e7d566c165a2%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-10-14%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%205.42.37.png)
# N값
n = int(input())

# N개의 수
arr = [int(input()) for _ in range(n)]

# 정렬
# arr.sort()

# 출력
for i in arr:
    print(i)

제출 결과

제출 결과 sort()를 사용한 코드가 시간이 가장 짧았다.(위에서부터 순서대로 삽입, 버블, sort() 사용)

profile
I'm job hunting. I want to be a sw developer.

0개의 댓글