풀이


1 부터 5 까지의 숫자를 주어진 규칙에 따라 순서대로 나열하는 알고리즘이다.

처음 주어진 배열을 num 이라는 리스트에 저장한다.

이후 만들고자 하는 tgt [1, 2, 3, 4, 5] 를 선언한다.

만약 주어진 과정을 거쳐 tgt 를 만들지 못한다면 다시 반복해야하기 때문에 while문 안에 for문을 선언하여 num 이 tgt 가 되도록 알고리즘을 작성하였다.

반복문이 진행될때마다 조건문을 통해 먼저 위치한 숫자가 이후 위치한 숫자보다 크다면 서로의 위치를 바꾸고 수정된 num 을 출력하도록 작성하였다.

소스코드


import sys
input = sys.stdin.readline
 
num = list(map(int, input().split()))
tgt = [1, 2, 3, 4, 5]
 
while num != tgt:
    for i in range(4):
        if num[i] > num[i+1]:
            num[i], num[i+1] = num[i+1], num[i]
            print(*num)

References