일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 반복문
- 백준9095
- 비교연산자
- 혁펜하임강의
- 백준1026
- 혁펜하임
- tensorflow
- 패스트캠퍼스혁펜하임
- 패스트캠퍼스
- AI강의
- precision
- 백준
- 혁펜하임강의후기
- C++ 함수
- 9095
- 1로만들기
- cuDNN
- pytorch
- C++ 공백 입력
- c++ 기초
- C++
- for문
- 1463
- 조건문
- CUDA
- 백준C++
- C++ 백준
- AIDEEPDIVE
- 혁펜하임AI
- 백준1463
- Today
- Total
코딩하는 덕구 🐶
16. C++ 백준 2884 번 알람 시계. feat. 조건문 안의 조건문 본문
안녕하세요 코딩하는 강아지 덕구입니다!
C++ 백준 2884 번 입니다!
https://www.acmicpc.net/problem/2884
2884번: 알람 시계
상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,
www.acmicpc.net
문제
상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다.
상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다.
이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다.
바로 "45분 일찍 알람 설정하기"이다.
이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다.
현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.
#include<iostream>
using namespace std;
int main(){
int H,M;
cin>>H>>M;
if(M<45){
if(H == 0){
H = 23;
}
else if(H >0){
H = H-1;
}
M = M + 60 - 45;
}
else if(M>=45){
M = M - 45;
}
cout<<H<<" "<<M;
return 0;
}
기존 알람에 45분을 빼는 문제입니다! 간단해 보이지만 단순하게 45를 빼면 분이 음수가 되는 오류가 생깁니다!
이를 다루기 위해서 먼저 조건을 크게 두가지로 나눴습니다.
M(분)이 45보다 작거나 그렇지 않은 경우입니다!
만약 M이 45보다 작다면 H(시간)에서 1을 빼주고 M에 60을 더해주고 다시 45분을 빼주면 된다.
만약 M이 45보다 크거나 같다면 M = M-1을 해주면 되겠죠!
만약 M이 45보다 작다면 H에서도 1을 빼줘야 하는데 여기서도 두 가지 경우가 생깁니다!
H가 0이면 1을 빼면 H가 -1이 아닌 23이 되야 하므로
H가 0인 경우와 그렇지 않은경우로 나눠서 처리해줬습니다!
예제와 같이 조건문안에는 또 다른 조건문을 입력할 수 있습니다!
이상 C++ 백준 2884 번 이었습니다! 감사합니다!
'알고리즘 문제 풀이' 카테고리의 다른 글
18. C++ 백준 10950번 A+B - 3 (2) | 2022.01.16 |
---|---|
17. C++ 백준 2739 번 구구단. feat. for문, 반복문 (2) | 2022.01.16 |
15. C++ 백준 14681 번 사분면 고르기 (0) | 2022.01.16 |
14. C++ 백준 2754 번 윤년. feat.비교 연산자. || , &&, and, or (0) | 2022.01.16 |
13. C++ 백준 9498 번 시험 성적 (2) | 2022.01.16 |