https://www.acmicpc.net/problem/9658
9658번: 돌 게임 4
상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.
www.acmicpc.net
해석 및 팁
이 문제도 기존의 돌 게임 문제와 마찬가지로 다이나믹프로그래밍으로 풀면 되는 문제입니다. 돌의 개수에서 1개, 3개, 4개 중 하나를 뺏을 때 하나라도 false이면 상근이가 이기므로 sk를 출력해 주면 됩니다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean[] arr = new boolean[1001];
int n = sc.nextInt();
arr[1] = false;
arr[2] = true;
arr[3] = false;
arr[4] = true;
for(int i = 5; i <= n; i++) {
if(arr[i - 1] == false || arr[i - 3] == false || arr[i - 4] == false) arr[i] = true;
else arr[i] = false;
}
if(arr[n] == true) System.out.print("SK");
else System.out.print("CY");
}
}
'백준' 카테고리의 다른 글
백준 17103 골드바흐 파티션(Java) (0) | 2023.02.12 |
---|---|
백준 2178 미로 탐색(Java) (0) | 2023.02.12 |
백준 11501 주식(Java) (0) | 2023.02.12 |
백준 4358 생태학(Java) (0) | 2023.02.12 |
백준 24479 알고리즘 수업(Java) (0) | 2023.02.12 |