Notice
Recent Posts
Recent Comments
05-11 05:42
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

-

[백준 2852] NBA 농구 - 파이썬 본문

Algorithm

[백준 2852] NBA 농구 - 파이썬

choiht 2024. 3. 2. 15:21
반응형

문제

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

 

2852번: NBA 농구

첫째 줄에 골이 들어간 횟수 N(1<=N<=100)이 주어진다. 둘째 줄부터 N개의 줄에 득점 정보가 주어진다. 득점 정보는 득점한 팀의 번호와 득점한 시간으로 이루어져 있다. 팀 번호는 1 또는 2이다. 득

www.acmicpc.net

 

 

 

풀이 방법

이 문제는 두 팀이 비기고 있을 때에는 시간 초를 카운트하면 안된다. 

따라서 1팀이 득점하면 flag 변수를 +1 해주고, 2팀이 득점하면 flag 변수를 -1 해줌으로써 누가 이기고 있는 상황인지 판단한다. 

 

시간 계산은 전체 시간에서 비기고 있는 시간을 빼는 방식으로 계산했다. 

 

 

 

코드 

n = int(input())
info = []

one = 0
two = 0
flag = 0

for i in range(n):
    team, time = input().split()
    m, s = map(int, time.split(':'))
    
    if team == '1':
        if flag == 0:
            one += 48*60 - (60*m+s)

        flag += 1
        if flag == 0:
            if two > 0:
                two = two - (48*60 - (60*m+s))
            
            
    else:
        if flag == 0:
            two += 48*60 - (60*m+s)
        
        flag -= 1
        if flag == 0:
            if one > 0:
                one = one - (48*60 - (60*m+s))
                
                
print('{:0>2}:{:0>2}'.format(one//60,one%60))
print('{:0>2}:{:0>2}'.format(two//60,two%60))
반응형
Comments