프로그래밍/Algorithm

백준 13417 카드 문자열 파이썬

모지사바하 2021. 3. 16. 14:07

www.acmicpc.net/problem/13417

 

13417번: 카드 문자열

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

www.acmicpc.net

T = int(input())
for _ in range(T):
    N = int(input())
    A = list(map(str, input().split()))
    
    ans = [A[0]]
    for i in range(1, len(A)):
        left = ans[0]
        right = ans[-1]
        
        if A[i] <= left:
            ans.insert(0, A[i])
        else:
            ans.append(A[i])
    print(''.join(ans))
    
# 3
# 3
# M K U
# 5
# A S D F G
# 7
# B A C A B A C    

 

이건 뭐.. 너무 쉬워서 따로 설명이 필요없는듯.

입력으로 받은 문자중 우선 첫번째 글자를 가져온 후,

입력으로 받은 문자를 순회하며 양 끝 글자 와 비교하여 왼쪽 글자보다 작으면 가장 왼쪽에 그게 아니면 가장 오른쪽에 삽입한다.