IT&개발/Baekjoon
[Python] 백준 10214번 - Baseball
nimoes._.
2024. 3. 23. 16:00
728x90
반응형
Baseball
문제 )
경근이는 수업 과제의 일환으로 연세대학교의 역사를 조사하고 있었다. 케케묵은 도서관 구석에서 경근이가 발견한 것은 역대 연고전의 야구경기 실황 기록문서였다. 하지만 문서를 가지고 있음에도 불구하고 한 눈에 당시의 경기 승패를 파악하기에는 어려움이 많았는데, 문서에는 회차별 양 팀 획득 점수만이 적혀져 있기 때문이었다. 경근이는 주어진 방대한 자료를 해석하는 것이 귀찮았기 때문에 절친한 프로그래머 친구인 당신에게 도움을 요청했다.
주어진 실황 기록문서에서 어떤 팀이 이겼는지를 알아내 경근이를 도와주자!
입력 )
입력 파일의 첫 번째 줄에 테스트 케이스의 수를 의미하는 자연수 T가 주어진다. 그 다음에는 T개의 테스트 케이스가 주어진다.
각 테스트 케이스는 9줄에 걸쳐서 입력되며, 매 줄마다 해당 회의 연세대 득점 Y와 고려대 득점 K가 공백으로 구분되어 주어진다. 이 두 수는 0이상 9이하이다.
출력 )
각각의 케이스마다 한 줄에 연세대가 이겼을 경우 "Yonsei", 고려대가 이겼을 경우 "Korea", 비겼을 경우 "Draw"를 출력한다.
내 풀이 )
# 방법1 - 각 회차별 점수를 저장하고 싶을 때
T = int(input())
Yonsei = []
Korea = []
Y_sum = 0
K_sum = 0
# 테스트 케이스(T)만큼 반복
for i in range(T):
# 9회까지의 점수
for j in range(9):
Y, K = input().split()
# 문자열 -> 정수 변환
Y = int(Y)
K = int(K)
# Y는 Yonsei 리스트에, K는 Korea 리스트에 넣기
Yonsei.append(Y)
Korea.append(K)
Y_sum = sum(Yonsei)
K_sum = sum(Korea)
if Y_sum > K_sum:
print('Yonsei')
elif Y_sum < K_sum:
print('Korea')
else:
print("Draw")
# 방법2 -총점 계산만 하고 싶을 때
T = int(input())
Y_sum = 0
K_sum = 0
for i in range(T):
for j in range(9):
Y, K = input().split()
K = int(K)
Y = int(Y)
Y_sum += Y
K_sum += K
if Y_sum > K_sum:
print('Yonsei')
elif Y_sum < K_sum:
print('Korea')
else:
print("Draw")
해설 )
- 위 두 방법 다 결과는 똑같지만 혹시나 다른 상황에서 리스트에 있는 값을 사용할 일이 있다면 방법 1 사용
- append() : 리스트에 값 추가
ex) a_List.append(5) : a_List라는 이름을 가진 리스트에 정수 5 넣기
- sum() : 리스트나 튜플에 있는 숫자 합 계산
ex) a_List = [1, 2, 3]
sum(a_List)는 6
결과 )

728x90
반응형