본문 바로가기
알고리즘/[python] 백준 BOJ

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

by Alan_Kim 2023. 8. 21.
728x90
반응형

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

 

19583번: 싸이버개강총회

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

www.acmicpc.net

 

문제 해결

  • 시간비교를 어떻게 할 것인가가 문제
  • 시간을 string type으로 바꾼다음 :을 제외하고 이어 붙여 정수로 만들어 비고하면 편하다!
    • 19:53 → 1953, 20:00 → 2000 로 바꾼 후 비교!
  • 시작시간 이전에 들어오고 끝낸 시간에서 스트리밍을 끝낸 시간 사이에 나가는 것이 확인 되면 답의 개수를 추가하면 끝!

 

CODE

import sys
input = sys.stdin.readline

s, e, q = map(str, input().split())
s = int(s[:2]+s[3:])
e = int(e[:2]+e[3:])
q = int(q[:2]+q[3:])

attend = set()
answer = 0
while True:
    try:
        time, name = input().split()
        time = int(time[:2] + time[3:])
        if time<=s:
            attend.add(name)
        elif e <= time <=q and name in attend:
            attend.remove(name)
            answer += 1
    except:
        break
print(answer)
728x90
반응형

댓글