오늘도 졌다 14582

PublicMinsu·2023년 1월 5일
0

문제

접근 방법

초->말 순서로 진행된다는 것을 보면 누적 점수의 확인을 제미니스가 먼저 하고 난 뒤 걸리버스가 하는 식이라는 것을 알 수 있다. 졌다는 것이 기본 전제이므로 역전패를 당한 것을 확인하면 바로 출력하고 나가주면 된다.

코드

#include <iostream>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    int arr[2][9], sum[2] = {
                       0,
                   };
    bool isWin = false;
    for (int i = 0; i < 2; ++i)
        for (int j = 0; j < 9; ++j)
        {
            int num;
            cin >> num;
            arr[i][j] = num;
        }
    for (int i = 0; i < 9; ++i)
    {
        sum[0] += arr[0][i];
        if (sum[0] > sum[1])
            isWin = true;
        sum[1] += arr[1][i];
        if (isWin && sum[0] < sum[1])
        {
            cout << "Yes";
            return 0;
        }
    }
    cout << "No";
    return 0;
}

풀이

배열에 누적해가는 식으로 해도 되지만 i-1이 -1이 되는 구간을 생각하면 귀찮아질 것 같아서 누적한 값을 저장할 변수를 하나 두었다.

profile
연락 : publicminsu@naver.com

0개의 댓글