Post
3499. 퍼펙트 셔플 (SWEA) | Gihun Son

3499. 퍼펙트 셔플 (SWEA)

※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.

출처:

SW Expert Academy

나의 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
T = int(input())
for test_case in range(1, T + 1):
    N=int(input())
    card_list=list(input().split())
    if N%2==0:
        m=N//2
    else:
        m=N//2+1
    card1=card_list[:m]
    card2=card_list[m:]
    print(f'#{test_case} ',end='')
    for i in range(len(card2)):
        print(card1[i],end=' ')
        print(card2[i],end=' ')
    if N%2==1:
        print(card1[-1])
    else:
        print('')
  • N이 홀수일 때, card1에 카드가 하나 더 있다.
  • 따라서 홀수, 짝수에 따라 중간 값을 다르게 설정해주고, 중간을 기준으로 앞과 뒤로 분리한 후 교차로 출력하여 풀었다.
This post is licensed under CC BY 4.0 by the author.