[백준] 1476. 날짜 계산

최대 1 분 소요

문제 링크

[백준] 1476. 날짜 계산


풀이 과정

완전탐색 문제입니다.


위와 같이, 1년1 1 1, 16년1 16 16, 20년5 20 1, 16년14 1 10으로 나타낼 수 있습니다.

문제에서 주어지는 준규가 사는 나라의 연도우리가 알고 있는 연도로 직접 구하려고 하지 말고, 역으로 준규가 사는 나라의 연도로 표현되는 값을 구하는 접근 방식을 생각해 볼 수 있습니다.


while (true) {
    if ((year - E) % 15 == 0 && (year - S) % 28 == 0 && (year - M) % 19 == 0) {
        System.out.println(year);
        break;
    }

    year++;
}

year를 1부터 증가시키며, 주어진 E, S, M을 뺀 값을 표현되는 각 범위(15, 28, 19)로 나눴을 때 나누어 떨어진다면, 해당 조합은 올바르게 표현된 것으로 판단할 수 있으므로, 정답으로 출력해줍니다.


코드

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int E = sc.nextInt();
        int S = sc.nextInt();
        int M = sc.nextInt();
        int year = 1;

        while (true) {
            if ((year - E) % 15 == 0 && (year - S) % 28 == 0 && (year - M) % 19 == 0) {
                System.out.println(year);
                break;
            }

            year++;
        }
    }
}

카테고리:

업데이트:

댓글남기기