본문 바로가기

BOJ/Python

[BOJ/백준] 4435 - 중간계 전쟁 (Python)

문제

문제링크

각 군대의 종족 점수는 아래와 같다.

간달프 사우론
호빗 1 오크 1
인간 2 인간 2
엘프 3 워그(늑대) 2
드워프 3 고블린 2
독수리 4 우럭하이 3
마법사 10 트롤 5
    마법사 10

이를 토대로 각 군대의 점수를 비교해 어느쪽이 이기는지 구하라.

 

풀이

각 군대의 종족 수를 리스트 형태로 입력받는다.

리스트의 각 요소에 접근해 가중치(종족별 점수)를 곱한 후 총 합을 구한다.

이 합을 비교하여 점수가 큰 쪽이 이기는 것이다.

 

코드

n=int(input())

for i in range(1,n+1):
    g=list(map(int, input().split()))
    s=list(map(int, input().split()))

    good=g[0]+g[1]*2+g[2]*3+g[3]*3+g[4]*4 +g[5]*10
    evil=s[0]+s[1]*2+s[2]*2+s[3]*2+s[4]*3+s[5]*5+s[6]*10
    if good>evil:
        print(f"Battle {i}: Good triumphs over Evil")
    elif good==evil:
        print(f"Battle {i}: No victor on this battle field")
    else:
        print(f"Battle {i}: Evil eradicates all trace of Good")