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로 갱신되는데, 이 간단한걸 생각하지 못했다. 그만큼 내가 부족하다는거지~