rueki

SW Expert Academy 1976. 시각 덧셈 본문

C, C++ 문제풀이

SW Expert Academy 1976. 시각 덧셈

륵기 2020. 4. 4. 19:14
728x90
반응형

문제 링크 :

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PttaaAZIDFAUq&categoryId=AV5PttaaAZIDFAUq&categoryType=CODE

 

SW Expert Academy

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

swexpertacademy.com

이번 문제는 '(시간 분) + (시간 분) = 시간 분' 의 방식으로 출제된 문제이다

예를들어 1시 1분 + 1시 1분 = 2시 2분 처럼이다.

 

문제 접근은 시간이 24시간이 아니라 12시간이므로 이를 주의해야하며, 그 다음으로는

합이 60분이 넘으면 시간이 1시간 추가되어야하는 점을 주의해야한다.

조건은 간단하지만, 문제 푸는데 있어서 변수 초기화에 대해서 잘못 이해를 하고 있어 여러모로 애를 먹었다.

#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{

    
    vector<int> h;
    vector<int> m;
    int T;

    cin >> T;
    for (int i = 0; i < T; i++)
    {
        int h1, h2, m1, m2 = 0;
        int hs, ms = 0;
        int sum1 = 0;
        int sum2 = 0;

        cin >> h1 >> m1 >> h2 >> m2;
        h.push_back(h1);
        m.push_back(m1);
        h.push_back(h2);
        m.push_back(m2);

        
        for (int j = 0; j < 2; j++)
        {   
            
            sum1 += h[j];

            sum2 += m[j];

        }
        hs = sum1;
        ms = sum2;

        if (hs >= 13)
        {
            hs = hs - 12;
        }
        if (ms >= 60) {
            ms = ms - 60;
            hs += 1;
        }
        cout << '#' << i + 1 << ' ' << hs << ' ' << ms << '\n';
        hs = 0, ms = 0;
        //벡터 초기화
        h.clear();
        m.clear();

    }
    return 0;
}

 

728x90
반응형
Comments