문제
https://www.acmicpc.net/problem/10214
풀이
야구를 안봐서 처음엔 문제 이해를 못했다.
왜 테스트 케이스가 하난데 아홉 줄이나 입력받지? 하면서 테스트 케이스 수만큼 입력받으면 입력되는 9줄 중 남은 입력은 버리게 했다.
물론 틀렸다.
열심히 생각해보다 각 테스트 케이스마다 입력하는 아홉 줄이 이닝이라는 것을 깨달았다 ...
각 테스트케이스마다,
각 이닝의 연세대 점수(소문자 y)와 고려대 점수(소문자 k)를 입력받아(innings) 연세대 점수의 합(대문자 Y)과 고려대 점수의 합(대문자 K)에 더한다.
소스코드
#include <iostream>
using namespace std;
int main()
{
int T;
cin >> T;
int Y, K;
int caseNum = 0;
while(caseNum < T)
{
Y=0;
K=0;
int innings = 0;
int y, k;
while(innings < 9){
cin >> y >> k;
Y += y;
K += k;
innings++;
}
if(Y > K) cout << "Yonsei" << endl;
else if(K > Y) cout << "Korea" << endl;
else cout << "Draw" << endl;
caseNum++;
}
return 0;
}
발전
코드가 길어지면 변수명이 헷갈릴 수도 있을 것 같다. 의미 있는 변수명을 사용하자.
문제가 조금 이상하다 싶으면 이해가 될 때까지 생각해보자. 일단 제출해보고 틀리지 말고!
야구를 보자
'Problem Solving' 카테고리의 다른 글
[백준/BOJ] 10102. Vote Count (C++) (0) | 2024.05.14 |
---|---|
[백준/BOJ] 2935. BUKA (C++) (0) | 2024.05.11 |
[백준/BOJ] 2476. 주사위 게임 (C++) (0) | 2024.05.10 |
[백준/BOJ] 1934. 최소공배수 (C++) (0) | 2024.05.10 |
[백준/BOJ] 2163. 초콜릿 자르기 (C++) (0) | 2024.05.10 |