문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
당신은 아래의 규칙에 따라 친구와 함께 Nim 게임을 진행한다.
탁자에 있는 돌의 숫자 n이 주어졌을 때, 당신과 친구가 최적의 플레이를 했을 때, 이긴다면 true를, 그렇지 않다면 false를 반환해라.
#1
Input: n = 4
Output: false
Explanation: 가능한 결과는 다음과 같다.
1. 당신은 돌 1개를 제거한다. 친구는 마지막 돌을 포함한 돌 3개를 제거한다. 친구가 이긴다.
2. 당신은 돌 2개를 제거한다. 친구는 마지막 돌을 포함한 돌 2개를 제거한다. 친구가 이긴다.
3. 당신은 돌 3개를 제거한다. 친구는 마지막 돌을 제거한다. 친구가 이긴다.
모든 경우에, 친구가 이긴다.
#2
Input: n = 1
Output: true
#3
Input: n = 2
Output: true
class Solution {
public boolean canWinNim(int n) {
if(n % 4 != 0) return true;
return false;
}
}