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배열의 원소를 출력시켜주었다.
<실행 결과>
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 14425 문자열 집합 (0) | 2022.11.06 |
---|---|
[BOJ] 16499 동일한 단어 그룹화하기 (0) | 2022.11.06 |
[BOJ] 1065 한수 (0) | 2022.10.09 |
[BOJ] 2776 암기왕 (0) | 2022.10.09 |
[BOJ] 9322 철벽 보안 알고리즘 (0) | 2022.10.09 |