class Solution {
public:
int calPoints(vector<string>& ops) {
vector<int> answer;
int temp1 = 0, temp2 = 0;
for(auto& it : ops) {
if(it == "+") {
temp1 = answer.back();
answer.pop_back();
temp2 = answer.back();
answer.emplace_back(temp1);
answer.emplace_back(temp2+temp1);
}
else if(it == "C") {
answer.pop_back();
}
else if(it == "D") {
temp1 = answer.back();
answer.emplace_back(temp1*2);
} else {
answer.emplace_back(stoi(it));
}
}
int sum = 0;
for(auto& it : answer)
sum += it;
return sum;
}
};
이터레이터를 사용하여 for문을 조금 더 고급지게? 구현해보았습니다 첫번째 for문을 그냥 for문에서 이터레이터로 변경하였더니 runtime이 배로 줄어든 것을 확인할 수 있었는데 나중에 조금 더 자세히 알아봐야겠단 생각을 하게 되었습니다.
문제: https://leetcode.com/problems/baseball-game/
'Problem Solving > 리트코드(leetcode)' 카테고리의 다른 글
[Leetcode/C++] 67. Add Binary (0) | 2022.01.24 |
---|---|
[Leetcode/C++] 168. Excel Sheet Column Title (0) | 2022.01.24 |
[Leetcode/C++] 206. Reverse Linked List (0) | 2022.01.24 |
[Leetcode/C++] 496. Next Greater Element 1 (0) | 2022.01.24 |
[Leetcode/C++] 1021. Remove Outermost Parentheses (0) | 2022.01.24 |