https://www.acmicpc.net/problem/10214
백준의 10214번 야구 문제이다. 문제의 요점은, 회차별 득점 금액을 입력받아, 저장하고, 9회가 마무리 되었을 시점에 총 득점을 비교하여 승자를 출력하는 것이다.
#정답 코드
#백준 10214
T = int(input())
for _ in range(T):
yonsei_total_score = 0
korea_total_score = 0
for _ in range(9):
yonsei_score, korea_score = map(int,input().split())
yonsei_total_score += yonsei_score
korea_total_score += korea_score
if yonsei_total_score > korea_total_score:
print("Yonsei")
elif yonsei_total_score == korea_total_score:
print("Draw")
else:
print("Korea")
먼저 T값을 input으로 받았다(T는 테스트 케이스의 수를 의미한다.) 최종 점수를 각 대학 모두 0점으로 설정해준뒤(초기값 세팅) for 문을 통해 9회까지 각 대학의 득점을 입력받는다. 그리고 total score += 각 회차별 스코어의 합으로 설정하여 최종 값을 total_score에 저장한다.
최종 점수가 높은 대학이 출력되게 설정하면 출력이 제대로 이루어진다.
#오답 코드
#백준 10214
T = int(input())
for _ in range(T):
yonsei_win = 0
korea_win = 0
for _ in range(9):
yonsei_score, korea_score = map(int,input().split())
if yonsei_score > korea_score:
yonsei_win += 1
elif korea_score > yonsei_score:
korea_win += 1
if yonsei_win > korea_win:
print("Yonsei")
elif yonsei_win == korea_win:
print("Draw")
else:
print("Korea")
처음에 문제의 의미를 오해해서, 각 회차별의 승자를 구한 후(위의 코드에서는 9회차로 설정) , 9회차까지 진행했을 때 승자가 많은 쪽이 이긴다고 설정하였다. 이는 오류 코드이다. 문제에서 제시한 "회차별 득점으로 인한 최종 득점이 많은 팀이 승자가 된다"는 조건을 명심하여야 한다.
반응형
'Algorithm' 카테고리의 다른 글
[python] 백준 10807 : 개수 세기 (0) | 2023.11.27 |
---|---|
[python] 백준 10988 : 팰린드롬인지 확인하기 (0) | 2023.11.26 |
[c] 배열값을 3개 입력받아, 세로로 출력하기 (0) | 2023.11.22 |
[c] 배열을 설정해준 뒤, 입력값을 받아 입력값이 배열 안에 포함되는지를 체크하기 (0) | 2023.11.21 |
[c] 배열값을 설정한 후, 입력값을 받아 더한 값을 출력하기 (1) | 2023.11.20 |