BOJ | 2884번

송치헌·2021년 6월 11일
0
post-thumbnail

Python 풀이

H, M = map(int, input().split())

if M >= 45: #만약 45분 ~ 59분이면 45분을 뺐을 때 시간은 그대로 두고 분만 빼면 된다.
    print(H, M-45)
else: #만약 0분 ~ 44분이면 시간이 바뀌므로 시간을 1빼주고 분도 45분 빼준다.
    if H > 0: #시간이 1~23시면 45분을 빼도 하루 전으로 가는게 아니기 때문에 시간만 1 빼준다.
        print(H-1, M+15)
    else: #시간이 0시이면 45분을 뺐을 때 하루 전으로 가기 때문에 23시이다.
        print(23, M+15)

HH : MM 에서

  • 1시 ~ 23시
    • 45분 ~ 59분 : 45분을 빼줘도 시침은 안바뀌고 분침만 45분 전으로 바꾸면 된다.
    • 0분 ~ 44분 : 45분을 빼주면 시침이 바뀐다. 1만큼 빼주면 된다.
  • 0시
    • 45분 ~ 59분 : 마찬가지로 시침은 안바뀐다.
    • 0분 ~ 44분 : 이 경우는 시침을 1만큼 빼주면 날짜가 바뀌기 때문에 23시가 된다.

C++ 풀이

#include <iostream>

using namespace std;

int main() {
    int H, M;
    cin >> H >> M;
    if (H == 0 && M < 45) cout << 23 << " " << M + 15;
    else {
    	if (M < 45) cout << H - 1 << " " << M + 15;
    	else cout << H << " " << M - 45;
    }
}
profile
https://oraange.tistory.com/ 여기에도 많이 놀러와 주세요

0개의 댓글