Python/백준 문제풀이

[백준 13417] 카드 문자열 파이썬 문제 풀이

코딩하는 친구 2023. 7. 18. 18:04

문제 풀이: 해당 문제는 입력받은 문자 중에서 첫 번째 글자를 가져온 후, 문자를 순회하며 왼쪽 글자보다 순서가 빠르면 가장 왼쪽에, 아니면 가장 오른쪽에 삽입한다.

import sys
n = int(sys.stdin.readline())
for _ in range(n):
    a = int(sys.stdin.readline())
    al = list(input().split())
    ans = [al[0]]
    for i in range(1, len(al)):
        left = ans[0]
        right = ans[-1]
        if al[i] <= left:
            ans.insert(0, al[i])
        else:
            ans.append(al[i])
    print(''.join(ans))

문자가 (M, K, U)인 경우 맨 처음에 left와 right에는 M 이 들어간다.