Algorithm

[python] 백준 10214: baseball

imsunbow 2023. 11. 24. 18:13

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회차까지 진행했을 때 승자가 많은 쪽이 이긴다고 설정하였다. 이는 오류 코드이다. 문제에서 제시한 "회차별 득점으로 인한 최종 득점이 많은 팀이 승자가 된다"는 조건을 명심하여야 한다.

반응형