아이디어
- cards 리스트에서 제일 첫번째 카드를 기준 카드로 설정
- 기준 카드보다 ASCII 번호 작다면 왼쪽, 크다면 오른쪽 삽입
소스코드1
# https://www.acmicpc.net/problem/13417
T = int(input())
for _ in range(T):
N = int(input())
cards = list(map(str, input().split()))
my = [cards[0]]
for i in range(1,N):
if ord(cards[i]) <= ord(my[0]):
my.insert(0,cards[i])
else:
my.append(cards[i])
print(''.join(my))
*꼭 ord 안써도 ASCII값 비교가능
*sys.stdin.readline을 사용하게 되면 개행 문자열 까지 전부 들어간다.
소스코드2
# https://www.acmicpc.net/problem/13417
T = int(input())
for _ in range(T):
N = int(input())
cards = list(map(str, input().split()))
my = [cards[0]]
for i in range(1,N):
if cards[i] <= my[0]:
my.insert(0,cards[i])
else:
my.append(cards[i])
print(''.join(my))
'개발 > 알고리즘' 카테고리의 다른 글
BOJ (1475) - 방 번호 Python (0) | 2021.05.01 |
---|---|
BOJ (2941) - 크로아티아 알파벳 Python (0) | 2021.05.01 |
BOJ (1449) - 수리공 항승 Python (0) | 2021.04.30 |
BOJ (2217) - 로프 Python (0) | 2021.04.28 |
BOJ (2827) - 우리집엔 도서관이 있어 Python (0) | 2021.04.27 |