BOJ_1476

Lee Do Kyung·2024년 10월 9일

Boj

목록 보기
10/12

알고리즘:

  • 수학
  • 브루트포스 알고리즘
  • 정수론

풀이:

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

위 그림은 아래의 코드에 대한 설명이다. 인풋인 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

깃허브 링크:

https://github.com/dbzoseh2rl

profile
유능한 Backend 개발자가 되기위해 열심히 하겠습니다!

0개의 댓글