Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Feb 18, 2025

🧷 문제 링크

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

🧭 풀이 시간

20분

👀 체감 난이도

✏️ 문제 설명

  • 페그 솔리테어는 구멍이 뚫려있는 이차원 게임판에서 하는 게임이다. 각 구멍에는 핀을 하나 꽂을 수 있다.
  • 핀은 수평, 수직 방향으로 인접한 핀을 뛰어넘어서 그 핀의 다음 칸으로 이동하는 것만 허용된다. 인접한 핀의 다음 칸은 비어있어야 하고 그 인접한 핀은 제거된다.
  • 현재 게임판에 꽂혀있는 핀의 상태가 주어진다. 이때, 핀을 적절히 움직여서 게임판에 남아있는 핀의 개수를 최소로 하려고 한다. 또, 그렇게 남기기 위해 필요한 최소 이동횟수를 구하는 프로그램을 작성하시오.

🔍 풀이 방법

[사용한 알고리즘]

  • 백트래킹

  • 핀의 개수가 최대 8이라서 직접 핀을 옮기는 작업을 반복해도 괜찮다.
  • 각 핀에 고유한 수를 부여해서 백트래킹 돌릴 때 사라진 핀에 대한 관리를 bool 배열로 관리해 주었다.

⏳ 회고

  • 자바로 하다가 다시 C++ 쓰려니 그새 자바가 습관이 된 건지, bool을 자꾸 boolean이라 쓴다.

@oncsr oncsr added the success 👍 해설을 보지 않고 풀었을 때 label Feb 18, 2025
@ShinHeeEul ShinHeeEul merged commit 2f1f88a into main Feb 18, 2025
1 check passed
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