반응형

문제 풀이

1. 주어진 시간이 hh:mm 일 때, mm에서 45를 빼준다.

2. 1의 값이 0보다 작은 경우 mm에 60을 더해준 후, hh에서 1을 빼준다.

3. 2 이후 hh가 -1이라면 23으로 바꿔준다.

 

* 다른 풀이로는 hh를 분으로 바꿔준 후, 45를 빼서 다시 시간과 분으로 바꿔주는 방법이 있다..

(hh * 60 + mm - 45 후 60으로 나눈 몫이 시간, 나머지가 분)

Python Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import sys
 
def solve(hh,mm):
  mm -= 45
  if mm < 0 :
    mm += 60
    hh -= 1
    if hh >= 0:
      return hh,mm
    else :
      return 23,mm
  else :
    return hh,mm
 
if __name__=='__main__':
  hh,mm = map(int,sys.stdin.readline().split())
  nh, nm = solve(hh,mm)
  print(nh,nm)
cs

문제 링크

 

2884번: 알람 시계

문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다.

www.acmicpc.net

 

반응형

'알고리즘 > 백준' 카테고리의 다른 글

백준 1520 내리막 길  (0) 2020.10.20
백준 1152 단어의 개수  (0) 2020.08.31
백준 9465 스티커  (0) 2020.04.18
백준 11657 타임머신 / 벨만 포드 알고리즘  (0) 2020.04.11
백준 1002 터렛  (0) 2020.04.09

+ Recent posts