코딩/공부

[Python] 백준 2884번 - 알람 시계

취미니스트 2023. 10. 11. 13:07
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
반응형