알고리즘 풀이

[C#] 백준 9657번 문제풀이

bimtaeur30 2026. 4. 4. 16:01

문제번호: 9657

문제명: 돌 게임3

문제링크: https://www.acmicpc.net/problem/9657

문제내용과 예제 입/출력은 위 문제 링크에서 확인해 주시기 바랍니다

오늘은 돌게임 3번째 문제를 풀었습니다. 문제를 풀기 위해 SK과 CY가 이기는 경우를 나열해보았습니다. 

dp[1] = 1
dp[2] = 0
dp[3] = 1
dp[4] = 1
dp[5] = 1
dp[6] = 1
dp[7] = 0
dp[8] = 1
dp[9] = 0
dp[10] = 1


여기서 7로 나누었을때 나머지가 0 또는 2라면 CY가 이기고 아니라면 SK가 이긴다는것을 알 수 있습니다. 이유로는 이전 상태의 조합으로 패턴이 고정되는 '필패상태'가 주기적으로 반복되기 때문입니다.
다음은 정답코드입니다.

static void Main()
{
    using var sr = new StreamReader(Console.OpenStandardInput());
    using var sw = new StreamWriter(Console.OpenStandardOutput());

    int n = int.Parse(sr.ReadLine()!);

    sw.WriteLine((n % 7 == 0 || n % 7 == 2) ? "CY" : "SK");
}

 

'알고리즘 풀이' 카테고리의 다른 글

[C#] 백준 9935번 문제풀이  (0) 2026.04.14
[C#] 백준 2096번 문제풀이  (0) 2026.04.12
[C#] 백준 1912번 문제풀이  (0) 2026.04.02
[C#] 백준 14911번 문제풀이  (0) 2026.04.01
[C#] 백준 18870번 문제풀이  (0) 2026.03.25