[백준|파이썬] 2852: NBA 농구 (실버3)

2023. 6. 27. 23:05·Problem Solving/백준
반응형
문제

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

 

2852번: NBA 농구

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

www.acmicpc.net

 

 

🐍파이썬
import sys
input=sys.stdin.readline
n = int(input())    #골 들어간 횟수
arr = []    #[골 넣은 팀, 골 들어간 시간] 저장할 리스트
for _ in range(n):
    arr.append(list(input().split()))   #[골 넣은 팀, 골 들어간 시간] 저장
arr.append(["0", "48:00"])  #마지막 48분까지의 시간동안의 시간도 체크해야 하므로 48분 배열 추가."0"부분은 아무거나 지정해도 상관없다.
dic = {"1":"00:00", "2":"00:00"}    #각 팀의 승리시간을 저장할 dic. 배열로 해도 됨
goal = [0, 0, 0]    #각 팀이 골을 넣은 횟수를 체크할 리스트. goal[0]은 패딩이다.
for i in range(len(arr)-1): #현재 인덱스 시간, 다음 인덱스 시간을 비교할 것이므로 인덱스에러를 방지하기 위해 len(arr)-1
    goal[int(arr[i][0])] += 1   #현재 팀의 골 넣은 횟수 체크
    c_m, c_s = map(int, arr[i][1].split(":"))    #현재 시간
    a_m, a_s = map(int, arr[i+1][1].split(":"))    #다음 시간
    #(다음 시간-현재 시간)
    if c_s > a_s:   #다음 초보다 현재 초가 더 큰 경우 뺄셈 음수 예외처리
        a_m -= 1    #1분 깎고
        a_s += 60   #60초 늘리기
    m = a_m - c_m   #다음 시간-현재 시간(분)
    s = a_s - c_s   #다음 시간-현재 시간(초)

    if goal[1] > goal[2]:   #1팀이 승리 중
        d_m, d_s = map(int, dic["1"].split(":"))  # 1팀의 총 승리시간
        d_m += m    #1팀의 승리시간을 다음 골이 들어간 지점까지 연장
        d_s += s
        while d_s >= 60:    #60초 넘으면 1분으로 처리
            d_s -= 60
            d_m += 1
        dic["1"] = str(d_m).zfill(2)+":"+str(d_s).zfill(2)  #"MM:SS" 형태로 만들어 dic에 저장
    elif goal[1] < goal[2]: #2팀이 승리 중
        d_m, d_s = map(int, dic["2"].split(":"))  # 2팀의 총 승리시간
        d_m += m
        d_s += s
        while d_s >= 60:
            d_s -= 60
            d_m += 1
        dic["2"] = str(d_m).zfill(2) + ":" + str(d_s).zfill(2)

for i in dic.values():
    print(i)

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Problem Solving > 백준' 카테고리의 다른 글

[백준|파이썬] 1138: 한 줄로 서기 (실버2)  (0) 2023.06.24
[백준|파이썬] 16506: CPU (실버5)  (0) 2023.05.06
[백준|파이썬] 3568: iSharp (실버5)  (0) 2023.05.05
[백준|파이썬] 14719: 빗물 (골드5)  (0) 2023.05.04
[백준|파이썬] 7568: 덩치 (실버5)  (2) 2023.04.30
[백준|파이썬] 4673: 셀프 넘버 (실버5)  (0) 2023.04.29
'Problem Solving/백준' 카테고리의 다른 글
  • [백준|파이썬] 1138: 한 줄로 서기 (실버2)
  • [백준|파이썬] 16506: CPU (실버5)
  • [백준|파이썬] 3568: iSharp (실버5)
  • [백준|파이썬] 14719: 빗물 (골드5)
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    Jiraynor Programming
    Next.js
    spring boot
    알고리즘
    공식문서
    React
    ZeroCho
    플러터
    자바스크립트
    파이썬
    mysql
    구현
    프로젝트
    블로그 제작
    뉴렉처
    백준
    SWEA
    웹사이트
    Til
    AWS
    d3
    bfs
    타입스크립트
    컴퓨터네트워크
    포트폴리오
    자바
    강의내용정리
    프로그래머스
    클론 프로젝트
    리액트
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[백준|파이썬] 2852: NBA 농구 (실버3)
상단으로

티스토리툴바