SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
T = int(input())
for t in range(1, T + 1):
h1, m1, h2, m2 = map(int, input().split())
h = (h1 + h2) * 3600
m = (m1 + m2) * 60
ans = h + m
if ans//3600 >= 12:
ans -= 12 * 3600
print('#%d %d %d' % (t, ans//3600, (ans%3600)//60))
- 입력받은 시간을 1시간 = 3600, 1분 = 60 같은 초 형태로 변환 후 더해줍니다.
- 그 후 시간과 분 단위로 다시 나타내기 위해 3600으로 나눠줍니다.
- 이 때, 시간이 12 이상인 경우 12 * 3600초를 빼주어 1~12 이내의 범위로 표현합니다.
- 그 후 시간과 분 단위로 나누어서 출력합니다.
그런데 문제를 풀고 나서 다른 분들의 코드를 보니 필요 없는 부분이 있었습니다. 그래서 수정한 코드!!
T = int(input())
for t in range(1, T+1) :
h1, m1, h2, m2 = map(int, input().split())
m = m1 + m2
h = h1 + h2 + m // 60
m = m % 60
if h > 12 :
h = (h - 12)
print('#%d %d %d' % (t, h, m))
- 입력된 시간 h1, h2와 m1과 m2의 합인 m을 나눈 몫이 시간입니다.
- m1과 m2의 합인 m을 나눈 나머지가 분입니다.
이전 코드보다 훨씬 간결해졌습니다. ^_^
피드백은 언제나 환영합니다.
'알고리즘 > SWEA' 카테고리의 다른 글
[Python] SWEA D2 1970번 - 쉬운 거스름돈 (0) | 2022.08.21 |
---|---|
[Python] SWEA D2 1926번 - 간단한 369게임 (0) | 2022.08.21 |
[Python] SWEA D2 2001번 - 파리 퇴치 (0) | 2022.08.21 |
[Python] SWEA D2 1974번 - 스도쿠 검증 (0) | 2022.08.21 |
[Python] SWEA D2 1966번 - 숫자를 정렬하자 (0) | 2022.06.02 |