2026: 두꺼비, 근성의 신이 되다
메모리제한:128 MB
시간제한:1.000 S
Judge Style:Text Compare
만든사람:
제출:0
통과:0
문제 설명
콩쥐는 오늘도 계모에게 한가지 일을 받았다. 여러개의 숫자가 들어 있는 바구니에서 숫자를 꺼내 오름차순으로 보기 좋게 정렬하라는 일이였다. 콩쥐는 일이
너무 귀찮았기에 두꺼비를 불러 정렬하게 시켜버렸다. 그러나, 멍청했던 두꺼비는 한번에 두 수밖에 비교할 수 없었기에 혼자서 외롭게 두 수를 비교하면 오름차순으로 정렬하였다.
불쌍한 두꺼비를 위로하기 위해 두꺼비의 정렬 방식을 담은 함수 f(x)를 작성해보자.
단, 함수형 문제이므로 함수 f()만 작성하시오.
[미리 작성되어있는 프로그램]
# 작성하여 제출해야 하는 함수 부분
# def f(x):
a = list(map(int,input().split()))
print(f(a))
너무 귀찮았기에 두꺼비를 불러 정렬하게 시켜버렸다. 그러나, 멍청했던 두꺼비는 한번에 두 수밖에 비교할 수 없었기에 혼자서 외롭게 두 수를 비교하면 오름차순으로 정렬하였다.
불쌍한 두꺼비를 위로하기 위해 두꺼비의 정렬 방식을 담은 함수 f(x)를 작성해보자.
단, 함수형 문제이므로 함수 f()만 작성하시오.
[미리 작성되어있는 프로그램]
# 작성하여 제출해야 하는 함수 부분
# def f(x):
a = list(map(int,input().split()))
print(f(a))
입력 설명
여러 정수가 공백을 두고 입력된다.
출력 설명
리스트 형태로 오름차순으로 값이 정렬되어 출력된다.
입력 예시 Copy
99 0 12 55 88 99 45 22 10
출력 예시 Copy
[0, 10, 12, 22, 45, 55, 88, 99, 99]
도움
버블 정렬은 첫 번째 자료와 두 번째 자료를, 두 번째 자료와 세 번째 자료를, 세 번째와 네 번째를, … 이런 식으로 (마지막-1)번째 자료와 마지막 자료를 비교하여 교환하면서 자료를 정렬하는 알고리즘이다.
1회전을 수행하고 나면 비교 끝에 가장 큰 자료가 맨 뒤로 이동하므로 2회전에서는 맨 끝에 있는 자료는 정렬에서 제외되고, 2회전을 수행하고 나면 끝에서 두 번째 자료까지는 정렬에서 제외된다. 이렇게 정렬을 1회전 수행할 때마다 정렬에서 제외되는 데이터가 하나씩 늘어난다.
버블정렬은 시간 복잡도가 큰 알고리즘이다. 값이 많아질수록 드는 시간이 기하급수적으로 늘어난다.
1회전을 수행하고 나면 비교 끝에 가장 큰 자료가 맨 뒤로 이동하므로 2회전에서는 맨 끝에 있는 자료는 정렬에서 제외되고, 2회전을 수행하고 나면 끝에서 두 번째 자료까지는 정렬에서 제외된다. 이렇게 정렬을 1회전 수행할 때마다 정렬에서 제외되는 데이터가 하나씩 늘어난다.
버블정렬은 시간 복잡도가 큰 알고리즘이다. 값이 많아질수록 드는 시간이 기하급수적으로 늘어난다.