Leetcode 2390. Removing Stars From a String
문제를 보면 stack을 쓰는 쉬운 문제라는 것을 깨달을 수 있다. 어제 풀었던 문제와도 같은 문제. 그러나 stack을 쓰면 O(n)만큼 쓰고, 또 그걸 string에 넣어야 하니까 O(2n)이 된다. 그래서 그냥 바로 string을 쓰면 된다. string에 push_back(또는 + 연산), pop_back 연산이 있기 때문이다.
// Runtime 68 ms Beats 95.74%
// Memory 25.9 MB Beats 57.75%
class Solution {
public:
string removeStars(string s) {
string answer = "";
for(char c : s){
if(c == '*'){
answer.pop_back();
}
else{
answer += c;
}
}
return answer;
}
};
시간복잡도
s를 처음부터 끝까지 순회하므로 O(n). string에 push_back()이나 pop_back()하는 것은 O(1)이 걸린다. 따라서 O(n)
공간복잡도
O(n) size의 answer string을 사용한다.
'PS > PS Log' 카테고리의 다른 글
23.04.13. 풀었던 문제들 (0) | 2023.04.13 |
---|---|
23.04.12. 풀었던 문제들 (0) | 2023.04.12 |
23.04.10. 풀었던 문제들 (0) | 2023.04.10 |
23.04.09. 풀었던 문제들 (0) | 2023.04.09 |
23.04.08. 풀었던 문제들 (0) | 2023.04.08 |