관리 메뉴

솜씨좋은장씨

[BaekJoon] 4435번 : 중간계 전쟁 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 4435번 : 중간계 전쟁 (Python)

솜씨좋은장씨 2022. 7. 24. 21:21
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 중간계 전쟁 입니다.

 

4435번: 중간계 전쟁

첫째 줄에 전투의 개수 T가 주어진다. 각 전투는 두 줄로 이루어져 있다. 첫째 줄에 간달프 군대에 참여한 종족의 수가 주어진다. 이 값은 공백으로 구분되어 있으며, 호빗, 인간, 엘프, 드워프,

www.acmicpc.net

👨🏻‍💻 코드 ( Solution )

def gandalf_vs_sauron(battle):    
    gandalf_soldier_score_info = [1, 2, 3, 3, 4, 10]
    sauron_soldier_score_info = [1, 2, 2, 2, 3, 5, 10]
    
    gandalf_soldier_list, sauron_soldier_list = battle[0], battle[1]
    
    gandalf_total_score = sum([(gandalf_solider * gandalf_soldier_score) for 
                               gandalf_solider, gandalf_soldier_score in 
                               zip(gandalf_soldier_list, gandalf_soldier_score_info)])
    
    sauron_total_score = sum([(sauron_solider * sauron_soldier_score) for 
                               sauron_solider, sauron_soldier_score in 
                               zip(sauron_soldier_list, sauron_soldier_score_info)])
    
    
    if gandalf_total_score > sauron_total_score:
        winner = "gandalf"
    elif gandalf_total_score == sauron_total_score:
        winner = "no one"
    else:
        winner = "sauron"
    
    return winner
    


def middle_earth_war(battle_list):
    battle_str_dict = {
        "gandalf": "Good triumphs over Evil",
        "sauron": "Evil eradicates all trace of Good",
        "no one": "No victor on this battle field"
    }
    for battle_idx, battle in enumerate(battle_list, start=1):
        winner = gandalf_vs_sauron(battle=battle)
        
        print(f"Battle {battle_idx}: {battle_str_dict[winner]}")
        
    
    
if __name__ == "__main__":
    battle_list = []
    
    for _ in range(int(input())):
        gandalf_soldier_list = list(map(int, input().split()))
        sauron_soldier_list = list(map(int, input().split()))
        
        battle_detail = [gandalf_soldier_list, sauron_soldier_list]
        
        battle_list.append(battle_detail)
        
    middle_earth_war(battle_list)
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

728x90
반응형
0 Comments
댓글쓰기 폼