상세 컨텐츠

본문 제목

682. Baseball Game

Developer/LEETCODE

by cepiloth 2021. 9. 8. 19:18

본문

728x90
반응형

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

난이도 : easy

문제

총 합산점수를 반환하라

 

문자열이 + D C 그리고 숫자가 입력으로 들어온다 + 앞에 두수를 더하고 C 면 앞에수를 빼고 D 면 앞에수에 2를 곱한 값을 삽입한다. 

전형적인 구현문제로서 Stack 자료형으로 쉽게 풀 수 있다.

 

코드

class Solution {
public:
    int calPoints(vector<string>& ops) {
        
        stack<int> st;
        
        for(string c:ops) {
            
            if(c == "C") {
                st.pop();
            }
            else if(c == "D") {
                st.push(st.top() * 2);
            }
            else if(c == "+") {
                int top = st.top(); st.pop();
                int next = st.top(); 
                st.push(top);
                st.push(top + next);
            }
            else {
                st.push(stoi(c));
            }
        }
        
        int ans = 0;
        while(!st.empty()) {
            ans += st.top();
            st.pop();
        }
        
        return ans;
    }
};
728x90
반응형

'Developer > LEETCODE' 카테고리의 다른 글

647. Palindromic Substrings  (0) 2021.09.12
594. Longest Harmonious Subsequence  (0) 2021.09.08
575. Distribute Candies  (0) 2021.09.08
409. Longest Palindrome  (0) 2021.09.05
819. Most Common Word  (0) 2021.09.05

관련글 더보기

댓글 영역