99클럽 코테 스터디 37일자 TIL +minimum-add-to-make-parentheses-valid

이월(0216tw)·2024년 6월 25일
0

99클럽/알고리즘풀이

목록 보기
35/38

문제 출처

https://leetcode.com/problems/minimum-add-to-make-parentheses-valid(leetcode)

학습 키워드

큐/스택

시도 방법

stack의 후입선출 개념을 활용해 문제를 풀었다.

내가 작성한 코드

class Solution {
    public int minAddToMakeValid(String s) {


        if(s.length() ==1) return 1; 

        Stack<Character> stack = new Stack<>(); 

        for(int i = 0 ; i <s.length(); i++) {

            if(stack.isEmpty()) {
                stack.push(s.charAt(i)); 
            } else { 


                if(stack.peek() == '(' && s.charAt(i) == ')') {
                    stack.pop(); 
                } else {
                    stack.push(s.charAt(i)); 
                }
            }
        }
        return stack.size() ; 
    }
}

코드설명

stack의 마지막 값이 ( 이고 그 다음 값이 ) 이라면 앞의 peek()했던 값을 제거한다.
그렇지 않고 만약 현재 peek() 한 값이 ) 라면 나중에 처리를 위해 남겨둔다.
이렇게 쭉 돌고 나면 stack 에 처리되지 못한 대상만 남게 되는데 이 수만큼 count를 하면 되기에 stack.size() 가 답이 된다.

출력결과


새롭게 알게된 점

없음

다음에 풀어볼 문제 - ??



#99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #TIL

profile
Backend Developer (Financial)

0개의 댓글