nums
: 나무 조각에 쓰인 숫자 리스트
✅ 입력 조건
1. 5개의 나무 조각에 쓰여진 숫자 입력
✅ 출력 조건
1. 숫자들이 [1, 2, 3, 4, 5]가 되는 과정 출력
문제에 제시된 것처럼 구현한다.
1. 1번째 & 2번째 비교, 필요 시 위치 변환
2. 2번째 & 3번째 비교, 필요 시 위치 변환
3. 3번째 & 4번째 비교, 필요 시 위치 변환
4. 4번째 & 5번째 비교, 필요 시 위치 변환
5. 원하는 배열의 리스트가 아니면 위의 과정 반복 수행
즉, 버블 정렬(bubble sort)를 직접 구현해보는 문제이다.
N개 입력받기 →
버블 정렬 →
리스트를 원하는 형태로 출력 →
최종 시간복잡도
이고 N은 5로 고정되어있으므로 제한 시간 내에 연산이 가능하다.
while문의 조건에 부합할 때까지 for문을 돌면서 요소 위치 변경.
nums
입력import sys
input = sys.stdin.readline
# 0. 필요 변수 선언
want = [1, 2, 3, 4, 5]
# 1. `nums` 입력
nums = list(map(int, input().split()))
# 2. while문으로 종료조건(원하는 배열 리스트가 될 때) 작성
while True:
if nums == want:
break
# 3. 리스트 요소 확인해 배열 위치 조정
for i in range(1, 5):
if nums[i-1] > nums[i]:
nums[i-1], nums[i] = nums[i], nums[i-1]
print(' '.join(map(str, nums))) # 또는 print(*nums)