본문 바로가기

Problem Solving/리트코드(leetcode)

[Leetcode/C++] 682. Baseball Game


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/

 

Baseball Game - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com