본문 바로가기

백준/C++

[Baekjoon/C++] 33277번 - 국방시계

[백준] Baekjoon Online Judge

문제로 이동

 

문제

오늘도 복무가 일이나 남은 하늘이는 매일 ’어서오시계’를 보며 시간을 보내고 있다. ’어서오시계’는 각 기수별 병사의 복무 현황을 다양한 방식으로 카운트하여 보여준다.

복무일을 보여주는 흥미로운 방식 중 하나는 바로 국방시계이다. 국방시계는 입대와 동시에 분에서 시작하여, 전역과 동시에 분에서 종료된다. 예를 들어 현재 군생활의 를 복무했다면 분이 되는 것이다.

매일 국방시계를 쳐다보는 하늘이를 위하여, 하늘이의 총 복무일수와 현재 완료한 복무일수가 주어질 때 국방시계가 가리키는 시각을 구해주자.

 

입력

첫째 줄에 총 복무일수 과 완료한 복무일수 을 나타내는 두 개의 정수가 공백을 사이에 두고 주어진다.

 

출력

첫째 줄에 국방시계가 가리키는 시각을 HH:MM 형식으로 분 단위까지만 버림하여 출력한다. 시간(HH)은  이상  이하의 정수, 분(MM)은  이상  이하의 정수로 한 자릿수는 앞에 을 붙여 나타낸다.

 


풀이

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

    int N, M;
    cin >> N >> M;

    int time = ((double)M / N) * 24 * 60;

    cout << setfill('0');
    cout << std::setw(2) << time / 60 << ':'
         << std::setw(2) << time % 60 << '\n';

    return 0;
}

한 자릿수 숫자는 앞에 0을 붙여야 하므로 <iomanip>의 함수를 사용했다.