알고리즘/소프티어

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을 했을 때, 나오는 구조를 꼭 꼼꼼하게 기억하고 쓸 수 있도록 구현 연습을 해야겠다.