🧩 Problem Solving
[SWEA] 톱니바퀴, 특이한 자석
문제분석 및 설계
톱니바퀴 회전 구현 ⇒ 배열 포인터(top, left, right) 인덱스 변경
- 시계방향 회전: 인덱스 모두 -1
- 반시계방향 회전: 인덱스 모두 +1
- ArrayIndexOutOfBounds 방지: 인덱스 = (인덱스+8)%8;
1) 각 톱니바퀴 회전 여부 체크
- 기준 톱니바퀴 기준으로
- 왼쪽 방향 탐색: 나의 left인덱스 값과 왼쪽 톱니의 right 인덱스 값 비교
- 오른쪽 방향 탐색: 나의 right인덱스 값과 오른쪽 톱니의 left 인덱스 값 비교
- 값 같다면 해당 방향으로 전진하며 각 톱니바퀴의 회전 여부(cw, anti-cw, none) 저장
2) 톱니바퀴 회전 및 회전방향 변수 초기화
- 각 톱니바퀴 회전 여부 변수 초기화
3) 모든 회전 끝난 후 top 인덱스 참조를 통해 점수 계산