STUDY/Algorithm

[백준] 19583 싸이버개강총회 python

sinawi95 2022. 2. 11. 14:16
728x90

https://www.acmicpc.net/problem/19583

 

19583번: 싸이버개강총회

첫번째 줄에는 개강총회를 시작한 시간 S, 개강총회를 끝낸 시간 E, 개강총회 스트리밍을 끝낸 시간 Q가 주어진다. (00:00 ≤ S < E < Q ≤ 23:59) 각 시간은 HH:MM의 형식으로 주어진다. 두번째 줄부터는

www.acmicpc.net

string을 숫자로 변환해서 조건안에 있는것만 체크했다.

import sys; input = sys.stdin.readline

def stringToMinutes(string):
    hh, mm = map(int, string.split(":"))
    return hh * 60 + mm

def main():
    S, E, Q = map(stringToMinutes, input().split())
    answer = 0
    attendance = dict()
    attendance_after = dict()
    # while True:
    try:
        while 1:
            line = input()
            st, nickname = line.split()
            mm = stringToMinutes(st)
            if mm <= S:
                if not attendance.get(nickname):
                    attendance[nickname] = True
            elif E <= mm <= Q:
                if attendance.get(nickname) and not attendance_after.get(nickname):
                    attendance_after[nickname] = True
                    answer += 1
    except:
        print(answer)

if __name__ == '__main__':
    main()

입력을 어떻게 끝내야할지 몰라서 구글링했다.

 

 

'STUDY > Algorithm' 카테고리의 다른 글

[백준] 2160 그림비교 c++  (0) 2022.02.12
[백준] 18513 샘터 python  (0) 2022.02.12
[백준] 20207 달력 python  (0) 2022.02.10
[백준] 18222 투에-모스 문자열 python  (0) 2022.02.09
[백준] 3184 양 python  (0) 2022.02.08