[Python] Input 함수에 범위를 지정해보자!_02번(While 문 활용) 백준 2884번 알람 문제
2021. 7. 24. 17:29
728x90
반응형
https://www.acmicpc.net/problem/2884
h = 23
m = 59
o = 0
H = None
M = None
while True:
H , M = map(int, input(f"알람 시계를 맞추기 위해 시간은 {o}부터 {h}까지 분은 {o}부터 {m}까지 입력하세요.\n").split())
if (H > h):
print('시간 범위를 다시 입력하세요')
if(M>m):
print('분의 범위를 다시 입력하세요')
continue
if(M>m):
print('분의 범위를 다시 입력하세요')
continue
break
print(H, M)
시간 범위 지정 해보았다.
이제 알람시계 문제를 풀 차례!!
if문을 활용하여 풀어 보았다!
첫 if문은 시간이 자정을 넘긴 시간이고, 분이 45분 이전이라면 시간이 0시에서 23시로 바뀌게 된다!!
그 점을 이해하며 진행하였다.
0시에서 23시로 넘어가는 경우를 제외하면 분이 45분 이전이라면 시간은 1시간씩 줄어드므로 다음 else문에서 이를 구현하였다.
M의 변수의 경우 우리가 시간을 계산할때 현재 시간이 5시 35분이라 하자.
그럼 45분 전의 시간을 계산할때 60분 - (45분 - '현재 분') 으로 계산할시 우리가 원하는 값 얻을 수 있게된다.
분이 45분이상이라면 그냥 시간도 그대로고 분도 현재시간 - 45분 하면 되므로 쉽게 구할 수 있게된다.
H , M = map(int, input().split())
if H == 0:
if M<45:
H = 23
M = 60- (45-M)
else :
M = M-45
else :
if M<45 :
H -=1
M = 60- (45-M)
else :
M = M-45
print(H , M)
728x90
반응형
'Python(백준) > if' 카테고리의 다른 글
[Python] Input 함수에 범위를 지정해보자!(While 문 활용) 백준 14681번 사분면 문제★VER2.0 (2) | 2022.12.29 |
---|---|
[Python] set로 활용해보기(set활용) 백준 2480번 주사위세게 문제 (0) | 2022.09.13 |
Python(백준)/if[Python] 백준 2525번 오븐 시계 (0) | 2022.06.24 |