본문 바로가기
Problem solving/goorm

[구름톤 챌린지] 프로젝트 매니징 (C++)

by 겸 2023. 8. 15.

문제

현재 구름 프로젝트를 완수하기 위해서 N개의 기능 개발이 추가로 필요하다.

i번째 기능을 개발하는데 ci분의 시간이 걸린다.

작업을 시작한 시각은 T시 M분이다.

플레이어는 1번 기능부터 순서대로 개발을 진행하고, 한 기능 개발을 마치면 바로 다음 기능 개발을 시작한다.

플레이어가 모든 기능 개발을 끝마친 시각은?

생각할 것

나머지 연산을 응용해야 한다.

작업 시간을 입력받을 때마다 종료시각을 더해준다.

60분보다 크면 시각을 더하고, 60으로 나눈 나머지는 분으로 설정한다.

시각은 24시를 0으로 나타내야 하므로 24의 나머지로 설정한다.

 

처음에는 if(M>=60)의 조건을 추가했었는데, 나누었을 때 60보다 작으면 어차피 0이므로 제거했다.

코드

#include <iostream>
using namespace std;
int main() {
    int N, T, M, c;

    cin >> N;
    cin >> T >> M;

    for(int i=0; i<N; i++){
        cin >> c;
        M += c; // 분을 더해준다
        T += M / 60; // 60분 넘으면 시각을 추가
        M %= 60; // 남은 분
        T %= 24; // 시각은 24시를 넘으면 다시 0으로 돌아감
    }

    cout << T << " " << M;

    return 0;
}
반응형