https://www.acmicpc.net/problem/2511
문제
풀이
a = list(map(int,input().split()))
b = list(map(int,input().split()))
score=[0,0]
str ="D"
for i in range(10):
if a[i]>b[i]:
score[0]+=3
str = "A"
elif a[i]<b[i]:
score[1]+=3
str = "B"
else :
score[0]+=1
score[1]+=1
print(score[0],score[1])
if score[0]>score[1]:
print('A')
elif score[1]>score[0]:
print('B')
else:
print(str)
설명
1. 점수가 동점이어도 마지막 승자가 승리한다. 즉 비기는 경우는 모든 판이 무승부인 경우
2. 마지막에 이긴 사람이 누구인지를 str에 초기화 시킨다. 이때 처음에 "D"로 무승부인 경우를 초기화해둔다.
3. 리스트를 순회하며 수를 비교하며 점수를 쌓고, 이긴 경우 str을 승자로 초기화 한다.
4. 만약 else의 경우로 계속 비길 경우 승자로 초기화 되지 않아 원래 초기화되어 있던 "D"로 유지된다.
5. 쌓은 점수를 비교하여 승자를 출력한다. 이때 점수가 같은 경우에도 str에 넣어둔 제일 마지막에 이긴 사람을 출력한다.
'Koala - 15기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python] 17219번 : 비밀번호 찾기 (0) | 2024.07.13 |
---|---|
[백준/python] 14652번: 나는 행복합니다~ (0) | 2024.07.12 |
[백준/Python3] 1152번: 단어의 개수 (0) | 2024.07.12 |
[백준/Python] 10773번: 제로 (0) | 2024.07.11 |
[백준/C++] 11652번: 카드 (0) | 2024.07.09 |