본문 바로가기
Baekjoon/[Code.plus] 알고리즘 기초 2/2

[BOJ/백준] 1476 날짜 계산

by 해적거북 2021. 9. 2.
728x90

● [문제번호 1476] 날짜 계산

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

 

1476번: 날짜 계산

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

www.acmicpc.net

 

● 알아야 할 것

: 브루트 포스 (Brute Force)

 

● 풀이 과정

: 간단하게 나머지 연산을 이용하여 하나씩 모두 검사하면 된다.

 

● 주의 할 것

: 나머지 연산한 값이 0인 경우

연도로 바꾸려면 나누는 값(15, 28, 19)이 된다.

 

예를 들어

1 % 15 → 1

2 % 15 → 2

...

14 % 15 → 14

15 % 15 → 0

마지막 경우는 15로 수정해야한다

 

● 참고 할 것

: NULL

 

● 풀이 코드

#include <bits/stdc++.h>

using namespace std;

int E, S, M;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    
    cin >> E >> S >> M;
    
    // 15, 28, 19의 최대공약수 : 7980
    for(int year = 1; year <= 7980; year++)
    {
        // 나머지 연산 이용
        // 나머지가 0인 경우는 15, 28, 19로 수정
        int e = year % 15;
        if(e == 0)
            e = 15;
        int s = year % 28;
        if(s == 0)
            s = 28;
        int m = year % 19;
        if(m == 0)
            m = 19;
        
        // 정답 출력
        if(e == E && s == S && m == M)
        {
            cout << year;
            break;
        }
    }
    
    return 0;
}

 

 

● [백준] - [알고리즘 기초 2/2] - [500 - 브루트 포스] 문제집

번호 문제 번호 문제 이름 풀이 링크
1 2309 일곱 난쟁이 https://pirateturtle.tistory.com/228
2 3085 사탕 게임 https://pirateturtle.tistory.com/229
3 1476 날짜 계산 https://pirateturtle.tistory.com/230
4 1107 리모컨 https://pirateturtle.tistory.com/231
5 14500 테트로미노 https://pirateturtle.tistory.com/232
6 6064 카잉 달력 https://pirateturtle.tistory.com/233
7 1748 수 이어 쓰기 1 https://pirateturtle.tistory.com/234
8 9095 1, 2, 3 더하기 https://pirateturtle.tistory.com/235

 

728x90

댓글