hyelie
hyelie
Hyeil Jeong
       
글쓰기    관리    수식입력
  • 전체보기 (495)
    • PS (283)
      • Algorithm (28)
      • PS Log (244)
      • Contest (6)
      • Tips (5)
    • Development (52)
      • Java (14)
      • Spring (23)
      • SQL (2)
      • Node.js (2)
      • Socket.io (3)
      • Study (4)
      • Utils (4)
    • DevOps (36)
      • Git (5)
      • Docker (4)
      • Kubernetes (2)
      • GCP (3)
      • Environment Set Up (8)
      • Tutorial (12)
      • Figma (2)
    • CS (74)
      • OOP (7)
      • OS (24)
      • DB (2)
      • Network (24)
      • Architecture (0)
      • Security (2)
      • Software Design (0)
      • Parallel Computing (15)
    • Project (15)
      • Project N2T (5)
      • Project ASG (0)
      • Project Meerkat (1)
      • Model Checking (7)
      • Ideas (2)
    • 내가 하고싶은 것! (34)
      • Plan (16)
      • Software Maestro (10)
      • 취준 (8)
hELLO · Designed By 정상우.
hyelie

hyelie

PS/PS Log

23.04.10. 풀었던 문제들

Leetcode 20. Valid Parentheses

 stack을 사용할 줄만 안다면, 쉽게 구현할 수 있는 문제. 백준의 stack의 첫 문제였던 것으로 기억한다.

//  Runtime 0 ms Beats 100%
// Memory 6.2 MB Beats 81.54%

class Solution {
public:
    bool isValid(string s) {
        stack<char> stk;
        for(char c : s){
            if(c == '(' || c == '[' || c == '{') stk.push(c);
            else{
                if(stk.empty()) return false;
                if(c == ')'){
                    if(stk.top() == '(') stk.pop();
                    else return false;
                }
                else if(c == ']'){
                    if(stk.top() == '[') stk.pop();
                    else return false;
                }
                else if(c == '}'){
                    if(stk.top() == '{') stk.pop();
                    else return false;
                }
            }
        }
        return stk.empty();
    }
};

 

시간복잡도

 string의 모든 char를 순회하므로 O(n). stack의 push나 pop도 O(1)이다.

 

공간복잡도

 stack만 사용하는데, worst case stack은 string과 같은 size가 되므로 O(n)이다.

 

 

 

 

 

저작자표시 (새창열림)

'PS > PS Log' 카테고리의 다른 글

23.04.12. 풀었던 문제들  (0) 2023.04.12
23.04.11. 풀었던 문제들  (0) 2023.04.11
23.04.09. 풀었던 문제들  (0) 2023.04.09
23.04.08. 풀었던 문제들  (0) 2023.04.08
23.04.07. 풀었던 문제들  (0) 2023.04.07
    hyelie
    hyelie

    티스토리툴바