c++

백준 c++ 2884 문제 풀이

psb08 2025. 4. 1. 00:21
728x90
반응형

문제 링크 : https://www.acmicpc.net/problem/2884

목차

1. 설명

 

2. 내 코드

 

3. 문제 풀이 해석 내용

 

4. 실행 결과

 

설명

백준 브론즈 3 문제 입니다.

문제명 : 알람 시계

 

내 코드

#include<iostream>
using namespace std;


int main()
{

    int a, b;
    cin >> a >> b;

    if (b < 45)
    {
        b += 15;
        a--;
    }
    else
    {
        b -= 45;
    }
    if (a < 0)
    {
        a = 23;
    }

    cout << a << " " << b;
	

}

 

문제 풀이 해석 내용

 

입력 받기

int a, b;
cin >> a >> b;

 

a: 시(hour)

b: 분(minute)

사용자가 현재 시간을 입력합니다.

 

 

 

분에서 45 빼기

if (b < 45)
{
    b += 15;
    a--;
}
else
{
    b -= 45;
}

 

b가 45분 미만이면, 45분을 빼면 음수가 되므로
→ 대신 b에 60분을 더하고 45분을 뺍니다 (즉, b += 15)
→ 그리고 한 시간(a)을 감소시킵니다

 

b가 45분 이상이면, 그냥 45분만 빼면 됩니다.

 

 

 

시 조정

if (a < 0)
{
    a = 23;
}

a가 0이었는데 1 감소하면 -1이 되므로
→ a = 23 (하루의 마지막 시간으로 설정)

 

 

출력

cout << a << " " << b;

조정된 a와 b를 출력.

 

 

실행 결과

 

'c++' 카테고리의 다른 글

백준 c++ 2738 문제 풀이  (0) 2025.04.03
백준 c++ 1264 문제 풀이  (0) 2025.04.02
백준 c++ 2439 문제 풀이  (0) 2025.03.31
백준 c++ 2438 문제 풀이  (0) 2025.03.30
c++ 시작 해보기 5  (0) 2025.03.15