[SWEA] 이상한 나라의 덧셈게임

문제 보러가기

제한사항

각 테스트 케이스의 첫 번째 줄에는 1000자리 이하의 양의 정수가 하나 주어진다.

제일 첫 번째 자리는 0이 아니다.

각 테스트 케이스마다 앨리스가 이기면 ‘A’를, 토끼가 이기면 ‘B’를 출력한다.

첫번째 생각

특정 규칙을 찾는 문제였고, 손으로 쓰다보면 쉽게 규칙을 찾을 수 있었다.

  1. 모든 숫자를 더하여 sum을 구한다.
  2. ((sum-1)/9+N.length()+1)%2==0 이라면 토끼가 이기고,
  3. ((sum-1)/9+N.length()+1)%2!=0 이라면 앨리스가 이긴다.

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Solution {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int T=Integer.parseInt(br.readLine());
		for(int tc=1;tc<=T;tc++) {
			String N = br.readLine();
			int sum = 0;
			for(int i=0; i<N.length(); i++) {
				sum += N.charAt(i)-'0';
			}
			if(((sum-1)/9+N.length()+1)%2==0){
				System.out.println("#"+tc+" B");
			}else {
				System.out.println("#"+tc+" A");
			}
		}
		
	}
}