

처음에는 문제가 잘 이해가 안되었는데 그려보고 난후 뭔지 알았다. (사람마다 다르지만 필자는 그림을 그려야 이해가 잘되는 느낌이 든다 개인적으로.. ㅜ.ㅜ)

위 그림은 아래의 코드에 대한 설명이다. 인풋인 e,s,m을 받아준다. 그다음 문제에서 말했듯이 E,S,M을 1씩증가시켜주는데 e와 E가 같을때 result값을 출력해주면 되겠다. 위 그림은 예제1번에 대해서 럴명을 그린것이다.
package text.silver;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class BOJ_1476 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int e = Integer.parseInt(st.nextToken());
int s = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int E = 0;
int S = 0;
int M = 0;
int year = 0;
while (true) {
year++;
E++;
S++;
M++;
if (E == 16) E = 1;
if (S == 29) S = 1;
if (M == 20) M = 1;
if (e == E && m == M && S == s) break;
}
System.out.print(year);
}
}
https://www.acmicpc.net/problem/1476