BOJ[9656] - 돌 게임 2 by JavaScript
돌 게임 2
문제
언어
- JavaScript
순서도
- N 을 늘려가며 dp 배열을 나열해보고 정답 도출
문제 풀이 step 1
- 돌 게임은 두 명이서 즐기는 재밌는 게임입니다.
- 탁자 위에 돌 N 개가 있습니다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1 개 또는 3 개 가져갈 수 있습니다.
- 마지막 돌을 가져가는 사람이 게임을 지게 됩니다.
문제 풀이 step 2
- 본 문제는 점화식을 따로 작성할 필요가 없는 문제입니다.
- N 을 늘려가며, 어떤 상황에서 상근이와 창영이가 승리하는지 추론해보면, 홀수일 때는 창영이가 승리하고 짝수일 때는 상근이가 승리한다는 것을 알 수 있습니다.
- 따라서 N 이 홀수인지 짝수인지 판별하고 그에 알맞은 문자열을 반환하면 정답입니다.
- 추가 설명은 주석으로 작성하겠습니다.
소스 코드
const input = require("fs")
.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n");
const solution = (input) => {
const n = Number(input[0]);
// 홀수라면 창영, 짝수라면 상근 승리
if (n % 2 === 1) return "CY";
return "SK";
};
console.log(solution(input));