알고리즘 공부/백준 문제풀이

[백준 python] 14891번 톱니바퀴

이현찬 2022. 8. 5. 02:17
728x90

문제링크

 

14891번: 톱니바퀴

총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴

www.acmicpc.net

문제 설명

  • 직렬로 연결 된 4개의 톱니 바퀴 중 하나를 골라 돌리는 작업을 K번 반복했을 때 톱니의 상태를 찾는 문제
  • 각 톱니는 자석처럼 S와 N로 구분되는데, 처음 상태에서 다른 극끼리 맞닿은 경우 회전이 전파된다

고민한 부분

  • 회전하는 톱니를 구현할 방법을 고민했는데, list로 만들 수 있지만 파이썬 내장 함수인 deque를 사용하면 rotate 메소드로 쉽게 구현할 수 있다
  • 그 외 어려운 부분은 없었지만, 문제를 꼼꼼하게 읽지 않아 회전한 후에 다른 극 끼리 맞닿은 경우 회전이 전파되는 것으로 생각해 오래 걸렸다 (원래는 회전하기 전에 맞닿은 톱니의 상태를 확인해야 함)
    • 문제 잘 읽어야 겠다.