BOJ 2641 - 다각형그리기 (Python)

조민수·2024년 3월 29일
0

BOJ

목록 보기
35/64
post-custom-banner

S2, 구현


풀이

  • deque()rotate()를 통해 해결할 수 있다.
  • rev_std를 만드는 과정에서 [::-1]을 해주지 않아 헤맸다.
from sys import stdin
from collections import deque

n = int(stdin.readline())
standard = list(map(int, stdin.readline().split()))

rev_std = []
for num in standard:
    if num == 1:
        rev_std.append(3)
    elif num == 2:
        rev_std.append(4)
    elif num == 3:
        rev_std.append(1)
    else:
        rev_std.append(2)

m = int(stdin.readline())
arr = []
for _ in range(m):
    arr.append(list(map(int, stdin.readline().split())))

res = 0
ans = []
for i in range(m):
    q = deque(standard)
    rev_q = deque(rev_std[::-1])
    k = n

    while k > 0:
        if deque(arr[i]) == q or deque(arr[i]) == rev_q:
            res += 1
            ans.append(arr[i])
            break
        else:
            q.rotate(1)
            rev_q.rotate(1)

        k -= 1

print(res)
for arr in ans:
    print(*arr)
profile
사람을 좋아하는 Front-End 개발자
post-custom-banner

0개의 댓글