반응형
문제 출처: https://www.acmicpc.net/problem/1476
1. 문제 접근방식
세 개의 수 E, M, S가 주어진다. 각각의 수는 서로 다른 범위를 갖게 된다.
1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19
이를 풀기 위한 방법을 생각해 보자면 구하고자 하는 연도 year의 값을 1로 초기화한 후 year에서 각각 입력받은 값들을 뺀 후, 세 개의 수의 최대 범위인 수들로 나눈 나머지가 0이 될 때의 year 값을 구하면 될 것이다. 이때 year의 값을 0으로 초기화할지 1로 초기화할지에 따라 year++ 의 구문이 들어갈 위치가 달라지게 된다.
2. 내가 푼 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class boj1476 {
static int E, S, M;
static StringBuilder sb = new StringBuilder();
public static void main(String[] args) throws IOException {
input();
solve(E, S, M);
System.out.println(sb.toString());
}
static void input() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
E = Integer.parseInt(st.nextToken());
S = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
}
static void solve(int e, int s, int m) {
int year = 1;
while (true) {
if ((year - e) % 15 == 0 && (year - s) % 28 == 0 && (year - m) % 19 == 0) {
break;
}
year++;
}
sb.append(year);
}
}
반응형
'개인 공부 > Algorithm' 카테고리의 다른 글
[Baekjoon/백준] 17614 JAVA (0) | 2022.03.09 |
---|---|
[Baekjoon/백준] 1120 JAVA (0) | 2022.03.08 |
[Baekjoon/백준] 4796 JAVA (0) | 2021.08.27 |
[Baekjoon/백준] 14916 JAVA (0) | 2021.08.25 |
[Baekjoon/백준] 14490 JAVA (0) | 2021.08.22 |