LeetCode 2660. Determine the Winner of a Bowling Game

남경민·2023년 4월 30일
0

LeetCode-Easy

목록 보기
2/3


class Solution {
public:
    int getScore(vector<int>& arr)
    {
        int totalScore = 0;
        int multiply = -1;
        for (int i = 0; i < arr.size(); i++)
        {
            int score = arr[i];
            int add = score;
            if (multiply >= 0)
                add *= 2;
            if (score == 10)
                multiply = 2;
            totalScore += add;
            multiply--;
        }
        return totalScore;
    }

    int isWinner(vector<int>& player1, vector<int>& player2) {
        int player1Score = getScore(player1);
        int player2Score = getScore(player2);
        return player1Score == player2Score ? 0 :
            player1Score > player2Score ? 1 : 2;
    }
};

Weekly Contest 343 첫번째 문제.
바보같은 짓을 좀 했다.
처음 구현할 때, multiply가 0 이상일 시 score*2를 하고 뒤에 score가 10이라면 multiply를 2로 만들었었는데, 왜 이렇게 했는지 모르겠다 ㅋㅋㅋ
이러면 multiply 조건을 충족한 상황에서 score == 10 조건문에 들어가면 최초 score가 10이 아닌 5일 때 multiply가 2로 갱신되는데, 이 간단한걸 생각하지 못했다. 그만큼 내가 부족하다는거지~

0개의 댓글