문제
바로 앞뒤의 나무조각의 수를 비교하여 앞의 수가 더 크다면 둘의 위치를 바꾼다.
앞뒤의 순서가 바뀌면 조각의 순서를 출력하고 조각의 순서가 1 2 3 4 5가 될 때까지 진행한다.
풀이
for문을 통해 바로 앞뒤의 조각의 수를 비교해 다르다면 바꾸고 출력하는 과정을 거친다.
만약 맨 앞에서부터 끝까지 한 페이즈를 다 돌았을 때도 순서가 정렬된 상태가 아니라면 다시 과정을 반복해야 한다.
이때 함수를 다시 불러오게 된다.
이 과정들을 반복해 결국 순서가 1 2 3 4 5가 된다면 종료된다.
코드
def change_wood(wood_list):
for i in range(4):
if wood_list[i]>wood_list[i+1]:
wood_list[i], wood_list[i+1] = wood_list[i+1], wood_list[i]
print(*wood_list, sep=' ')
if wood_list!=sorted(wood_list):
change_wood(wood_list)
wood_list=list(map(int, input().split()))
change_wood(wood_list)
'BOJ > Python' 카테고리의 다른 글
[BOJ/백준] 3035 - 스캐너 (Python) (0) | 2024.11.06 |
---|---|
[BOJ/백준] 2966 - 찍기 (Python) (0) | 2024.11.06 |
[BOJ/백준] 2846 - 오르막길 (Python) (0) | 2024.11.06 |
[BOJ/백준] 12605 - 단어순서 뒤집기 (Python) (0) | 2024.11.05 |
[BOJ/백준] 2775 - 부녀회장이 될테야 (Python) (0) | 2024.11.05 |