Algorithm/BOJ
[BOJ] 13417 카드 문자열
SolB
2022. 11. 6. 17:50
tc=int(input())
for i in range(tc):
n=int(input())
str=list(input().split())
arr=[str[0]]
for j in range(1, len(str)):
left = arr[0]
if str[j] <= left:
arr.insert(0,str[j])
else:
arr.append(str[j])
for j in arr:
print(j, end='')
print()
<코드 설명>
먼저 testcase를 입력받는다. 그리고 그만큼 for문을 반복시켜 각 카드의 개수와 카드에 적힌 알파벳을 입력받는다.
입력받아온 알파벳은 split하여 str에 list의 형태로 적용해주었다.
arr 배열을 만들어 str의 첫번째 값을 저장해주었다.
arr의 첫번째 원소가 str[j]원소보다 크거나 같을 때, arr배열의 첫번째 원소로 str[j] 원소를 삽입해준다.
그렇지 않다면, arr배열 맨 뒤에 str[j]원소를 삽입해준다.
이를 str list의 길이만큼 반복시켜주었다.
이렇게 구한 arr배열의 원소를 출력시켜주었다.
<실행 결과>