Leetcode Java Divisor Game

업데이트:

문제

Link

코드

class Solution {

	public boolean divisorGame(int n) {
		return n % 2 == 0;
	}

}

결과

Link

설명

  1. 엘리스와 밥이 아래의 규칙대로 게임을 수행할 때, 엘리스가 이기는지 검증하는 문제이다.
    • 0 < x < n를 만족할 때, n % x == 0인 임의의 x를 선택하여 n을 $n - x$로 바꾸어준다.
    • 플레이어가 더 이상 수행이 불가능한 n이 0이 되는 경우, 게임에서 지게 된다.
  2. n이 짝수인지를 검증하여 해당 결과를 주어진 문제의 결과로 반한환다.

해설

  • n의 각 경우에 대해서 확인해보자.
    • n이 1인 경우, 1을 선택하면서 바로 지게된다.
    • n이 2인 경우, 1을 선택하면 이기게 된다.
    • n이 3인 경우, 1을 선택하면 밥은 1을 다시 선택하므로 반드시 지게된다.
    • n이 4인 경우, 1을 선택하면 n이 3이 되므로, 밥은 1을 선택하여 이기게된다.
  • 위의 각 경우에 대한 시나리오를 기반으로 n이 홀수인 경우에는 지고, 짝수인 경우에는 이기므로 짝수인지 검증한 결과가 주어진 문제의 결과로 된다.

소스

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

댓글남기기