개발/알고리즘
BOJ (13417) - 카드 문자열 Python
Oreorobin
2021. 4. 28. 20:53
아이디어
- 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))