Skip to content

Conversation

@JHLEE325
Copy link
Contributor

🧷 문제 링크

https://www.acmicpc.net/problem/14891

🧭 풀이 시간

40분

👀 체감 난이도

✏️ 문제 설명

N극과 S극이 있는 톱니바퀴 4개가 주어지고
특정 톱니바퀴를 시계, 반시계 방향으로 회전시킵니다.
이 때 서로 붙어있는 톱니바퀴의 톱니가 서로 다른 극이면 그 톱니바퀴도 회전하게 됩니다.
회전을 완료 하였을 때 톱니의 12시 방향에 따른 점수를 계산하여 출력하는 문제입니다.

🔍 풀이 방법

시뮬레이션을 구현하여 풀이했습니다.
톱니바퀴가 회전하는 rotate() 함수를 구현하고
회전 시점에 각 톱니들이 회전하는지 안하는지를 판단하여 rotate 시켰습니다.

public static void rotate(int idx, int dir) {
        if (dir == 1) {
            int last = wheel.get(idx).pollLast();
            wheel.get(idx).addFirst(last);
        } else {
            int first = wheel.get(idx).pollFirst();
            wheel.get(idx).addLast(first);
        }
    }

⏳ 회고

처음에 배열 인덱스를 잘못 책정해서 out of bound가 많이 났었는데 확인을 철저하게 해야될 것 같습니다

@ShinHeeEul ShinHeeEul merged commit 72f11ba into main Jul 18, 2025
1 check passed
@JHLEE325 JHLEE325 added the success 👍 해설을 보지 않고 풀었을 때 label Jul 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants