[백준/Python] 2884)알람 시계

Jimin_Note·2022년 5월 7일
0

[백준/Python]

목록 보기
5/20
post-thumbnail

💾2884)알람 시계

h,m = map(int,input().split()) # h 입력 후 띄어쓰기하고 m 입력

result_h,result_m = h,m
  


 if 45 <= m <= 59:  #45분~59분은 -45해도 h변함없음
   result_m -= 45
 elif 0 <= m <= 44:  #44분~0분은 -45하면 h가 변함
   a= m-45
   result_m=60+a      #m -45 하고 나온 음수의 값에 60을 더해서 저장
  
   if result_h == 0:  #0시에서 -1을 할 경 23이 되야되기때문에
    result_h = 24     #0 입력시 24로 변경하여 저장하기
   result_h-= 1       #m이 0~44일경우 45분을 빼려면 h-1 되어야함
  
  
   

  print(abs(result_h) ,abs(result_m)) 
#시계는 양수값만 보여지기때문에 abs()함수적용
#사실 없어도 문제는 맞지만 그냥 한번 써봤음

📍다른 답안1)


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

if M > 44: #45분 이상일때
    print(H, M-45)  #그냥 뺄셈식
elif M <45 and H > 0:  #44분이하이면서 1시이상일때
    print(H-1, M + 15) #25분일때 -45를 하면 -20, 즉,40분 하지만 25분일때 +15를 해도 40분!
else:
    print(23, M + 15) #그 외의 경우의수는 H=0일때, 0-1 => 23시
  • 굳이 변수만들어서 result저장하지말고 print문에 식 넣을 생각도해보자!
result_h,result_m = h,m

나는 이렇게 시간계산 후 저장할 변수를 만들어놨는데
위 처럼 if문 안에 결과값을 도출할 수 있는 print문을 넣으면 좀 더 간단하게 만들 수 있음


📍다른 답안2)


h,m = map(int,input().split())
if m-45 < 0:
    if h == 0: h = 23
    else: h-=1
    m+=60
print(h,m-45)

📍위 답안을 참고한 내 답안 수정본)

h,m = map(int,input().split())
result_h,result_m = h,m
if 45 <= m :
  result_m -= 45
elif m <= 44:
  a= m-45
  result_m=60+a
  
  if result_h == 0:
    result_h = 24
  result_h-= 1
print(result_h ,result_m)
profile
Hello. I'm jimin:)

0개의 댓글