본문 바로가기
Algorithm/Baekjoon

[백준/BOJ] 1476번 - 날짜 계산 (C++)

by shine-jung 2021. 7. 12.
반응형

문제 링크

 

코딩하기 전 생각하기

/*
나머지를 활용하자.
답을 n이라고 하자.
n을 각각 E S M의 길이로 나눈 나머지가 입력 받은 수들과 일치해야 한다.
*/

 


 

코드

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
    int e, s, m, n = 1;
    cin >> e >> s >> m;
    while (1) {
        if ( (n - e) % 15 == 0 && (n - s) % 28 == 0 && (n - m) % 19 == 0 )
            break;
        n++;
    }
    cout << n;
}

 


 

느낀점

 

문제 알고리즘 분류에 "나머지 정리"라는 단어 덕분에 힌트를 얻을 수 있었다. 이거 아니었으면 못 풀었을 것 같다.

n % 15 == e과 같은 코드를 먼저 생각했었는데 e가 15일 때는 답이 나올 수 없었다. (n - e) % 15 == 0로 코드를 바꿔주니까 통과할 수 있었다.

 

(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.

댓글 환영합니다!

반응형

댓글