반응형
https://www.acmicpc.net/problem/1476
- 문제
- 문제 풀이
백준 1476번 날짜 계산은 실버 5 난이도의 수학 문제이다. 이 문제에서는 새로운 연도가 소개된다. 지구 연도는 e, 태양의 연도는 s, 그리고 달의 연도는 m이다. 즉, 1년은 e = 1, s = 1, m = 1이다. 그리고 각 연도마다 다른 범위가 있다. 범위들은 다음과 같다: 1 ≤ e ≤ 15, 1 ≤ s ≤ 28, 1 ≤ m ≤ 19. 각 범위를 초과하면 다시 1이 된다. e, s, m으로 연도가 주어졌을 때 가장 빠른 연도를 출력하면 되는 문제이다.
이 문제는 단순한 while-loop을 이용해서 풀겠다. 1년에서 시작해서 1년이 지날 때마다 e, s, 그리고 m을 각각 1씩 증가시켜 준다. 그리고 각 연도의 범위를 초과할 때 다시 1로 초기화시켜주고 이 연도가 e, s, m과 동일할 때 그 연도를 출력한다.
- 코드
import java.io.*;
import java.util.*;
public class Main {
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);
}
}
- 후기
처음에 이 문제를 접했을 때 %를 이용해서 풀려고 하다가 그냥 단순한 loop을 이용했는데 풀렸다.
반응형
'백준' 카테고리의 다른 글
[백준] 17202번 : 핸드폰 번호 궁합 – JAVA [자바] (0) | 2022.04.21 |
---|---|
[백준] 2446번 : 별 찍기 - 9 – JAVA [자바] (0) | 2022.04.21 |
[백준] 1100번 : 하얀 칸 – JAVA [자바] (0) | 2022.04.21 |
[백준] 2161번 : 카드1 – JAVA [자바] (0) | 2022.04.21 |
[백준] 15489번 : 파스칼 삼각형 – JAVA [자바] (0) | 2022.04.21 |
댓글