코린이의 소소한 공부노트

[LeetCode/Easy] 292. Nim Game 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 292. Nim Game

무지맘 2023. 1. 27. 00:20

1. Input

1) int n

 

2. Output

1) 아래와 같은 규칙으로 nim game을 했을 때, 내가 이긴다면 true, 진다면 false를 반환

// 규칙

- 돌멩이를 테이블 위에 올려놓는다.

- 나와 내 친구가 번갈아 가면서 게임을 하고, 내가 먼저 시작한다.

- 각 턴에서 돌을 1개에서 3개를 가져간다.

- 마지막에 남은 돌을 가져가는 사람이 이긴다.

 

3. Constraint

1) 1 <= n <= 2^31 - 1

 

4. Example

Input: n = 4 -> Output: false

설명:

- 내가 1-> 남은 돌 3-> 친구가 3-> 친구 승

- 내가 2-> 남은 돌 2-> 친구가 2-> 친구 승

- 내가 3-> 남은 돌 1-> 친구가 1-> 친구 승

- 어떻게 해도 내가 지는 게임이다.

 

5. Code

1) 첫 코드(2023/01/27)

while(n>5)
    n -= 4;
return n==5 || n<=3;

- 무지성 반복문이라 메모리 사용량이 많은 건 알겠는데, 실행시간이 1400ms인데 가장 빠른쪽에 속하는 건 이유를 모르겠다.