본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 2756번 다트

by 현장 2022. 5. 28.

-Code

def score(num):
    if num <= 3:
        return 100
    elif num <= 6:
        return 80
    elif num <= 9:
        return 60
    elif num <= 12:
        return 40
    elif num <= 15:
        return 20
    return 0


for _ in range(int(input())):
    dart = list(map(float, input().split()))
    player1, player2 = 0, 0
    for i in range(0, 6, 2):
        pos = dart[i] ** 2 + dart[i + 1] ** 2
        player1 += score(pos ** 0.5)
    for i in range(6, 12, 2):
        pos = dart[i] ** 2 + dart[i + 1] ** 2
        player2 += score(pos ** 0.5)
    if player1 == player2:
        print(f"SCORE: {player1} to {player2}, TIE.")
    elif player1 > player2:
        print(f"SCORE: {player1} to {player2}, PLAYER 1 WINS.")
    elif player1 < player2:
        print(f"SCORE: {player1} to {player2}, PLAYER 2 WINS.")

루트를 안쓰고 그냥 제곱인 상태로 구하면 틀려서 루트를 씌웠더니 해결이 되었습니다.