알고리즘/소프티어
Level1 - 근무시간.py
funtastie
2023. 1. 5. 20:31
출력형식
첫 번째 줄에 직원의 총 근무 시간을 분 단위로 출력한다.
입력예제1
10:00 19:00
09:00 15:00
10:00 11:00
11:00 22:00
09:00 15:00
출력예제1
1980
월요일에 9시간, 화요일에 6시간, 수요일에 1시간, 목요일에 11시간, 금요일에 6시간을 근무하였다. 총 근무 시간은 9 + 6 + 1 + 11 + 6 = 33시간, 즉 33 × 60 = 1980분이다.
입력예제2
09:17 18:34
09:17 18:34
09:17 18:34
09:17 18:34
09:17 18:34
출력예제2
2785
매일 9시간 17분을 근무하였으므로, 5일간 46시간 25분을 근무하였다.
입력예제3
09:17 19:24
10:11 18:45
09:34 18:27
10:47 15:33
08:47 18:32
출력예제3
2525
Code1
import sys
data=[]
for i in range(5):
data.append(input())
‘’’
->대체가능
n = int(sys.stdin.readline())
data = [sys.stdin.readline().strip() for i in range(n)]
‘’’
total=0
for i in data:
time=i.split()
start=time[0].split(":")
time1 =int(start[0])*60+int(start[1])
done=time[1].split(":")
time2 =int(done[0])*60+int(done[1])
total += (time2-time1)
print(total)
Code2
import sys
count=0
while True:
x= sys.stdin.readline().strip()
if not x:
break
a,b=x.split()
count += (int(b[:2])-int(a[:2]))*60+(int(b[3:])-int(a[3:]))
print(count)
배운점
리스트와 split을 이용한 문제이다.
여러 문장이 나올 때 쓰이는 strip()을 배웠으며, ":"을 split 할 때 꼭 " " 을 해줘야함을 잊지말아야한다.
split을 했을 때, 나오는 구조를 꼭 꼼꼼하게 기억하고 쓸 수 있도록 구현 연습을 해야겠다.