728x90
반응형
문제
https://www.acmicpc.net/problem/2884
시, 분을 입력 후 45분을 빼줌
h, m = list(map(int, input().split()))
m -= 45
분이 음수가 되었으면 60을 더해주고 시간 값을 1 빼줌
if m < 0:
m += 60
h -= 1
시간이 음수이면 23시로 변환해줌
if h < 0:
h = 23
시, 분 출력
print(h, m)
전체 코드
h, m = list(map(int, input().split()))
m -= 45
if m < 0:
m += 60
h -= 1
if h < 0:
h = 23
print(h, m)
간략화
h, m = list(map(int, input().split()))
m -= 45
if m < 0:
m += 60
h -= 1
h %= 24
print(h, m)
python에서는 음수에 대해 나머지 연산은 0부터 나누고자 하는 숫자 전까지 순환구조로 이루어짐
예) -1 % 24 => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23] 에서 뒤에서 첫 번째인 23이 반환됨
728x90
반응형
'코딩 > 공부' 카테고리의 다른 글
[Python] 백준 2739번 - 구구단 (2) | 2023.10.11 |
---|---|
[Python] 백준 2480번 - 주사위 세개 (0) | 2023.10.11 |
[Python] 백준 14681번 - 사분면 고르기 (1) | 2023.10.11 |
[Python] 백준 1330번 - 두 수 비교하기 (1) | 2023.10.11 |
[Python] 백준 10172번 - 개 (0) | 2023.10.10 |