하루일문

[백준] 13417번 카드 문자열(파이썬) 본문

algorithm/baekjoon

[백준] 13417번 카드 문자열(파이썬)

support_u 2023. 3. 29. 10:06

문제

 

13417번: 카드 문자열

입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫째 줄에 테스트 케이스의 개수를 나타내는 자연수 T가 주어진다. 각각의 테스트 케이스의 첫째 줄에 처

www.acmicpc.net

코드

import sys
input = sys.stdin.readline
from collections import deque

for _ in range(int(input())):
    num = int(input())
    card = list(map(str, input().strip().split()))
    word = deque([card[0]])

    for i in card[1:]:
        if i > word[0]:
            word.append(i)
        else:
            word.appendleft(i)
    print(*word, sep="")

해설

그리드와 deque(stack)를 사용하는 문제이다.

두개의 리스트를 만들고 새로 만든 리스트의 [0]번과 비교해서 좌우로 넣는 방식으로 풀었다.