백준 14891번 톱니바퀴 (삼성 SW 역량테스트 기출문제)

문제 링크: https://www.acmicpc.net/problem/14891

사용한 알고리즘: 구현


 4개의 톱니바퀴를 시계방향(1), 반시계방향(-1) 으로 돌릴때 해당 톱니바퀴의 양옆 톱니바퀴가 함께 돌아가는 문제입니다. 톱니바퀴는 총 8개의 돌기가 있고, 12시방향을 index 0 으로 시작하여 시계방향으로 index가 +1 됩니다. 모든 회전이 끝난 후 4개의 톱니바퀴의 각 12시 성분이 무엇인지 구하는 문제였습니다.

풀이과정은 다음과 같습니다.
(1) 톱니바퀴 i의 상태를 4x8 배열로 받고, 입력되는 톱니바퀴의 회전을 구현하는 함수 Turning 을 만들어 톱니바퀴 index i 와 회전방향을 구현합니다.

(2) 구현시 i톱니바퀴의 3시돌기의 극성( [i][2] )과 i+1톱니바퀴의 9시돌기의 극성( [i+1][6] )
i톱니바퀴의 9시돌기의 극성( [i][6] )과 i+1톱니바퀴의 3시돌기의 극성( [i-1][2] ) 를 비교하여 극성이 같을 경우 그 톱니바퀴도 다시 과정(1)의 함수로 넣어줍니다.



댓글