본문 바로가기
🧑‍💻코딩 테스트/백준 (BOJ)

[코딩테스트/백준 알고리즘] 1476번 : 날짜 계산 (자바, Java 풀이)

by 코코의 주인 2022. 9. 3.

문제

https://www.acmicpc.net/problem/1476

 

1476번: 날짜 계산

준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타

www.acmicpc.net


문제 설명


문제 풀이

 나머지 연산을 사용했다.

 어떤 수를 n으로 나눈 수의 나머지는 절대 n을 넘을 수 없다.

int earth = result % 15;
    if(earth == 0)
        earth = 15;
int sun = result % 28;
    if(sun == 0)
        sun = 28;
int moon = result % 19;
    if(moon == 0)
        moon = 19;

코드

import java.util.*;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int result = 1;			//인간 연도
        int earthYear = sc.nextInt();	//지구
        int sunYear = sc.nextInt();	//태양
        int moonYear = sc.nextInt();	//달
        
        while(true) {
            int earth = result % 15;
            if(earth == 0)
                earth = 15;
            int sun = result % 28;
            if(sun == 0)
                sun = 28;
            int moon = result % 19;
            if(moon == 0)
                moon = 19;
            
            if(earth == earthYear && sun == sunYear && moon == moonYear) {	//입력값과 일치
                System.out.println(result);
                break;
            }
            else {
                result++;
            }
        }
    }
}

댓글