백준 20309 트리플 소트 / python

이유참치·2025년 8월 19일

백준

목록 보기
48/249

문제 : 20309

풀이 point

3개의 위치를 반대로 옮기는 방법을 사용해서 정렬을 시도한다. 3개의 숫자가 거꾸로 뒤집히지만 사실상 맨 왼쪽과 오른쪽의 위치만 바뀐다.

이때 회전을 해도 원래의 짝수/홀수 인덱스 성질이 바뀌지 않는다.
최종적으로 정렬이 되려면
짝수 인덱스(0, 2, 4 ...)에는 홀수 값이
홀수 인덱스(1, 3, 5 ...)에는 짝수 값이 있어야 한다.

ex) 1 2 3 4 5
짝수 인덱스(0, 2, 4) -> 1, 3, 5
홀수 인덱스(1, 3) -> 2, 4

풀이 코드

#백준, 20309 트리플 소트

import sys
input = sys.stdin.readline

N = int(input().rstrip())

nums = list(map(int, input().split()))

for i in range(N):
    if i%2 and nums[i]%2:
        print("NO")
        exit()

print("YES")
profile
임아리 - 대학생

0개의 댓글