전체 코드
#include <iostream>
int main()
{
int A, B, C;
std::cin >> A >> B >> C;
A += C / 60;
B += C % 60;
if (B >= 60)
{
A += 1;
B -= 60;
}
A %= 24;
std::cout << A << " " << B;
}
풀이
- A(시간)에 C/60한값 더하기 -> 1시간당 60분이므로 60나눈값을 더함, int끼리 나누면 나머지는 버리기 때문에 나머지 걱정은 안해도 됨
- B(분)에 C%60한값 더하기 -> C%60을 하면 60으로 나눈 뒤 나머지가 남음->시간에 더한 뒤 남은 분 더함
A += C / 60;
B += C % 60;
- B(분)가 60보다 같거나 클 경우 A(시간)에 1더함
- A에 60만큼 주었으므로 B에 60만큼 뺌
- 분 단위는 0부터 59까지 표시하므로 위의 작업을 함
if (B >= 60)
{
A += 1;
B -= 60;
}
- A(시간)은 0부터 23까지 표시됨-> 24로 나눈 나머지값을 A로 설정
- 다 한뒤 출력
A %= 24;
std::cout << A << " " << B;
'백준 단계별로 풀어보기(C++) > 2)조건문' 카테고리의 다른 글
백준 2480) 주사위 세개 (C++) (1) | 2023.03.09 |
---|---|
백준 2884) 알람 시계 (C++) (0) | 2023.03.09 |
백준 14681) 사분면 고르기 (C++) (0) | 2023.03.09 |
백준 2753) 윤년 (C++) (0) | 2023.03.08 |
백준 9498) 시험 성적 (C++) (0) | 2023.03.08 |