반응형
문제
원래 시간보다 45분 일찍 표시되는 알람시계 만들기
ex)
10 10 입력 → 9 25 출력
0 30 입력 → 23 45 출력
23 40 입력 → 22 55 출력
처음 아이디어
1. 분이 45보다 크거나 같을 때는 그냥 '분-45' 하면 됨
2. 시가 1보다 크고, 분이 45보다 작을때는 '시-1', '분+15' 하면 됨
3. 이제 나머지는 시가 0이고, 분이 45보다 작을 때이므로, '시=23', '분+15' 하면 됨
input_data = input().split(' ')
hour = int(input_data[0])
minute = int(input_data[1])
if minute>=45:
print(hour, minute-45)
elif hour>=1 and minute<45:
print(hour-1, minute+15)
else:
hour=23
print(hour, minute+15)
다른 아이디어
1. 분이 45보다 크면 따로 건드릴 거 없음
2. '분-45'가 0보다 작으면, '시-1', '분-45+60'하면 됨
3. '시-1'이 0보다 작으면, '시=23'
input_data = input().split(' ')
hour = int(input_data[0])
minute = int(input_data[1])
minute -=45
if minute < 0:
minute += 60
hour -=1
if hour < 0:
hour = 23
print(hour, minute)
반응형
'알고리즘 문제 & 프로그래밍 > 파이썬' 카테고리의 다른 글
복리, 원리합계, 이자 계산 문제(등비수열) | 파이썬 while, for문 (0) | 2020.06.24 |
---|---|
[백준 1110번] 더하기 사이클 문제 | 파이썬 while문 (0) | 2020.06.20 |
[프로젝트 오일러] 5번 문제 & 풀이 (1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수) (0) | 2020.05.30 |
[프로젝트 오일러] 4번 문제 & 풀이 (세자리 수를 곱해 만들 수 있는 가장 큰 대칭수) (0) | 2020.05.18 |
[프로젝트 오일러] 3번 문제 & 풀이 (가장 큰 소인수 구하기) (0) | 2020.05.18 |
댓글