돌 게임 2

문제

언어

  • JavaScript

순서도

  1. 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));