https://leetcode.com/problems/baseball-game/
난이도 : 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;
}
};
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 |
댓글 영역