스택
-
99클럽 코테 스터디 16일차 TIL: 스택/큐, Leetcode 921. Minimum Add to Make Parentheses ValidToday_I_Learned/Algorithm 2024. 6. 25. 23:33
문제https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/description/통과 여부Pass 나의 접근(오답) 처음에는 짝이 맞지 않는 괄호의 수를 세면 된다고 생각했다.(반례) 하지만 괄호의 짝은 모두 맞지만 방향이 다른 경우도 있었다. 결국 stack 을 사용하게 되었다.문자열을 순회하며 '(' 는 push 하고, ')' 을 만나면 stack 에서 pop 을 하도록 한다.')' 를 만났는데 stack 이 비어있으면 s 를 완성하기 위한 문자 삽입 횟수를 +1 한다.class Solution: def minAddToMakeValid(self, s: str) -> int: ans = 0 stack = [..
-
99클럽 코테 스터디 15일차 TIL: 스택/큐, Leetcode 2390. Removing Stars From a StringToday_I_Learned/Algorithm 2024. 6. 24. 22:48
문제https://leetcode.com/problems/removing-stars-from-a-string/description/ 통과 여부Pass 나의 접근문자열을 순회하며 문자를 하나씩 string 변수에 붙인다. * 을 만나면 string 변수의 마지막 문자를 제거한다.시간 복잡도 측면에서 더 좋은 방법 (항해99 스터디를 통해 알게 된 방법)stack 에 넣고, * 이 나오면 stack 을 pop 한다.class Solution: def removeStars(self, s: str) -> str: ans = '' for c in s: if c != '*': ans += c else: ..
-
99클럽 코테 스터디 14일차 TIL: 스택/큐, Leetcode 341. Flatten Nested List IteratorToday_I_Learned/Algorithm 2024. 6. 24. 00:02
문제https://leetcode.com/problems/flatten-nested-list-iterator/description/ 통과 여부Fail 문제 해석깊이의 제한이 없는 중첩 List 들을 1차원 List 로 해체시켜야 함. 나의 접근다음 요소가 List 일 때 재귀를 이용하여 제일 깊이 있는 List 요소부터 stack 에 push 함.재귀가 끝나면 stack 의 요소를 하나씩 pop 하여 별도의 1차원 List 에 담기.하지만 문제는 아직 못 풀음... 재도전 하는 것으로.