아직은 정체성이 없는 블로그

[SWEA][D2][c++] 1948. 날짜 계산기 본문

알고리즘 역량테스트 문제/SWEA

[SWEA][D2][c++] 1948. 날짜 계산기

coooding 2020. 7. 19. 00:37

문제

1948. 날짜 계산기

 

문제 링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PnnU6AOsDFAUq

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

풀이 과정

 

1. 주어진 입력값을 받는다.

2. M1(시작월)부터 M2(종료월)-1 까지의 일수를 더한다.

3. 마지막 월은 입력값 D2(종료일)를 더하고 D1(시작일)을 뺀 후 1을 더한다.

 

코드

#include<iostream>
using namespace std;
int day[]={0,31,28,31,30,31,30,31,31,30,31,30,31};

int main(int argc, char** argv)
{
    cin.tie(0);
    cout.tie(0);
    cout.sync_with_stdio(false);

	int test_case;
	int T;
    int M1,M2,D1,D2;

	cin>>T;
	for(test_case = 1; test_case <= T; ++test_case)
	{
        int result=0;
        cin >> M1 >> D1>> M2 >> D2;
        
        for(int i=M1; i<=M2; i++){
            if(i==M2){// 마지막 월은 D2입력값을 더하고 D1 값을 빼준다.
            	result+=D2-D1+1;
                continue;
            }
        	result+=day[i];
        }
        cout<<"#"<<test_case<<" "<<result<<"\n";
        
	}
	return 0;
}

 

Comments