Leetcode Java Nim Game

업데이트:

문제

Link

코드

class Solution {

  public boolean canWinNim(int n) {
    return n % 4 != 0;
  }

}

결과

Link

설명

  1. 주어진 정수 n을 이용하여 친구와 Nim Game을 하여 승리할 수 있는지 여부를 반환하는 문제이다.
    • Nim Game이란 탁자 위에 돌들을 올려놓고 먼저 1개에서 3개까지 돌을 제거 하며 순서를 교대하다 마지막 돌을 제거하는 사람이 승자인 게임이다.
  2. 주어진 정수 n을 4로 나눈 나머지 값이 0이 아닌 경우 true를, 아니면 false를 주어진 문제의 결과로 반환한다.
    • n이 4인 경우, 처음 순서로 1 ~ 3 개를 제거하더라도 승리할 수 없다.
    • n이 5인 경우, 처음에 1개를 제거 후 친구가 1 ~ 3 개 중 임의의 개수를 제거하더라도 1 ~ 3개의 돌이 남으므로 다음에 돌아온 내 순서에서 승리가 가능하다.
    • 이를 동일하게 n이 $4 \times N$(N >= 1)의 숫자가 아닌 경우, 승리 할 수 있다고 판단한다.

소스

Sample Code는 여기에서 확인 가능합니다.

댓글남기기