Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자료구조
- 백준
- 포도주시식
- 갓생
- nodejs
- 공부시간측정어플
- background script
- 캠스터디
- Message Passing
- 백준 7579
- react
- 프로그래머스 #정수삼각형 #동적계획법
- Chrome Extension
- 크롬 확장자
- webpack
- 백준 #7568번 #파이썬 #동적계획법
- discord.js
- content script
- 파이썬
- 2156
- 크롬 익스텐션
- 디스코드 봇
- supabase
- TypeScript
- 동적계획법
- X
- C언어로 쉽게 풀어쓴 자료구조
- popup
Archives
- Today
- Total
히치키치
[백준] 17281번 : 야구 - Python(파이썬) 본문
문제
https://www.acmicpc.net/problem/17281
풀이
- 야구 구현 :
- one iterator : out count, base1, base2, base3 = 0
- 3 아웃 전까지 게임 진행
- 홈으로 들어온 사람 수 = result에 따른 총점 / base 갱신
- 다음 타자로 순번 넘겨주기
- 3 아웃 후 최고 점수 갱신
- 4번 타자 고정, 순열 조합
- 빡빡한 시간 제한 : 최소한의 함수, 최대 단일 변수 이용
참고
https://rhdtka21.tistory.com/89
코드
#https://www.acmicpc.net/problem/17281
import sys
from itertools import permutations
read = sys.stdin.readline
N = int(read())
results = [list(map(int, read().split())) for _ in range(N) ]
# (index+1)타순에 value번 선수가 친다.
# 4번타자는 0번 선수로 고정
# 8!개의 경우의 수
maxScore = -1
for order in permutations((range(1, 9)), 8):
order = list(order[:3]) + [0] + list(order[3:])
hitter = 0
score = 0
for i in range(N):
# 한 이닝에서 유지되는것들
outcount = 0
first, second, third = 0, 0, 0
while outcount < 3: #3아웃이 될때까지 반복
# 같은 타석에서 유지되는 것들
result = results[i][order[hitter]]
if result == 0: #아웃
outcount +=1
elif result == 1: #안타
score += third
first, second, third = 1, first, second
elif result == 2: #2루타
score += (second + third)
first, second, third = 0, 1, first
elif result == 3: #3루타
score += (first + second + third)
first, second, third = 0, 0, 1
elif result == 4: #홈런
score += (first + second + third + 1)
first, second, third = 0, 0, 0
hitter = (hitter + 1) % 9 #다음타자
if maxScore < score:
maxScore = score
print(maxScore)
'알고리즘 스터디' 카테고리의 다른 글
[백준] 2096번 : 내려가기 - Python(파이썬) (0) | 2021.07.06 |
---|---|
[백준] 1976번 : 여행 가자 - Python(파이썬) (0) | 2021.07.06 |
[백준] 13913번 : 숨바꼭질4 - Python(파이썬) (0) | 2021.05.25 |
프로그래머스 - 가장 먼 노드 (DFS, BFS) Python (0) | 2021.05.17 |
프로그래머스 - 네트워크 (DFS, BFS) Python (0) | 2021.05.17 |
Comments