반응형
2947
https://www.acmicpc.net/problem/2947
2947번: 나무 조각
첫째 줄에 조각에 쓰여 있는 수가 순서대로 주어진다. 숫자는 1보다 크거나 같고, 5보다 작거나 같으며, 중복되지 않는다. 처음 순서는 1, 2, 3, 4, 5가 아니다.
www.acmicpc.net
[정답]
1
2
3
4
5
6
7
8
9
|
import sys
a = list(map(int, sys.stdin.readline().split()))
for i in range(len(a)-1):
for j in range(len(a)-1-i):
if a[j] > a[j+1]:
temp = a[j]
a[j] = a[j+1]
a[j+1] = temp
print(' '.join(map(str, a)))
|
cs |
.
.
.
[풀이]
Bubble sort, 버블 정렬 문제다.
그냥 bubble sort의 개념을 묻고 있다.
n개의 수에서
처음부터 순서대로 두 값을 비교하여 큰 값이 오른쪽으로 가도록 한다.
n-1번 반복하여 한 사이클을 돌면 최댓값이 맨 오른쪽 끝(a[n-1])으로 가 있을 것이다.
다시 처음부터 값 비교를 해준다. 이 때 최댓값이 맨 오른쪽(a[n-1])에 있기 때문에
a[n-2]까지만 비교를 해준다.
즉, n-1, n-2, ..., 1번 반복하게 된다.
끝이다.
p.s.
정렬 종류에는 여러가지가 있다. 하나씩 완벽하게 이해하자.
버블 정렬은 그 중에서 제일 간단한 것이다.
반응형
'백준 문제풀이' 카테고리의 다른 글
[백준 7785] 파이썬 : 회사에 있는 사람 (0) | 2021.10.17 |
---|---|
[백준 9655, 9656] 파이썬 : 돌 게임 (0) | 2021.10.16 |
[백준 1026] 파이썬 : 보물 (0) | 2021.10.14 |
[백준 10157] 파이썬 : 자리배정 (0) | 2021.10.13 |
[백준 2346] 파이썬 : 풍선 터뜨리기 (0) | 2021.10.12 |