[백준 BOJ] 2884번 알람 시계 (C언어)
2022. 1. 30. 16:15ㆍPS (Program Solving)/BOJ (백준)
문제 설명
https://www.acmicpc.net/problem/2884
접근 방법 - 시간의 연산이 필요한 문제
백준의 2884번 문제는 단순한 시간 계산을 사용해서 해결해야 하는 문제이다.
해당 문제에선 입력받은 시간에서 45분 앞의 시간을 출력하면 된다.
이때, 분의 범위는 0~59이며 시간의 범위는 0~23이라는 점을 유의하며 코드를 작성해야 한다.
필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다.
코드의 실행 순서
1) 시간(h, m)을 입력받는다.
2) m의 값에 따라 아래의 연산을 취한다.
- 만일 m이 45보다 크거나 같다면 m에 45를 뺀다.
- m이 45보다 작다면 h에 1을 빼면서 m에는 15를 더한다.
(ex) 9시 40분이라면, 8시 55분으로 계산
(만약 h가 0인 경우엔 h의 값을 23으로 변경한다.)
3) 연산이 끝난 시간(h, m)을 출력한다.
반응형
성공한 코드
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <stdio.h>
//백준 2884번 코드
int main() {
int h, m;
scanf("%d %d", &h, &m);
if (m >= 45) {
m -= 45;
}
else {
if (h == 0) { h = 23; }
else { h--; }
m += 15;
}
printf("%d %d", h, m);
}
제출 결과
(2021.12.15 백준 2884번 문제 제출 결과)
반응형
'PS (Program Solving) > BOJ (백준)' 카테고리의 다른 글
[백준 BOJ] 2920번 음계 (C언어) (0) | 2022.01.30 |
---|---|
[백준 BOJ] 2908번 상수 (C언어) (0) | 2022.01.30 |
[백준 BOJ] 2869번 달팽이는 올라가고 싶다 (C언어) (0) | 2022.01.29 |
[백준 BOJ] 2864번 5와 6의 차이 (C언어) (0) | 2022.01.29 |
[백준 BOJ] 2798번 블랙잭 (Java) (0) | 2022.01.29 |