백준 algorithm

백준 1476 - 날짜 계산

cosmohoo 2020. 6. 1. 00:12
반응형

문제 설명

 

 

 

 

 

=> 브루트 포스를 활용해 우리가 알고 있는 연도 1년부터 올라가며 주어진 E S M과 같은 지 확인하면 됩니다. 

 

 

  • E S M과 비교하며 증감을 연속하는 변수 세 개를 설정합니다. (goingE, S, M)

  • E S M 과 변수들이 같아질 때까지 while문을 통해 연속적으로 year의 값을 증가시킵니다.

  • E S M 각 변수들이 지닐 수 있는 최대의 숫자까지 갈 경우 다시 1로 돌아가도록 합니다. 

  • E S M과 going 변수들이 모두 똑같아졌을 경우의 Year 변수를 출력합니다.

 

 

 

 

 

 

 

 

 

 

<code>

#include <iostream>
#include <algorithm>
#include <string>

using namespace std;



int main()
{
    
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
  
    int E,S,M;
    cin >> E >> S >> M;
    
    int year = 1;
    int goingE=1, goingS=1, goingM =1;
   
    while(E != goingE || S != goingS || M != goingM) // 세개가 다 원하는 값이 아닐 때....
    {
        if(goingE !=15)
        {
        goingE++;
        }
        else{
            goingE=1;
        }
        
        if(goingS != 28)
        {
        goingS++;
        }
        else{
            goingS=1;
        }
        if(goingM != 19)
        {
        goingM++;
        }
        else{
            goingM =1;
        }
        year++;
    }
    
    cout <<year <<'\n';
    
}

 

 

 

 

 

 

 

실행 화면 1
실행 화면 2
실행 화면 3

 

반응형