티스토리 뷰


문제 설명
열린 괄호가 닫힌 괄호로 닫히는지 확인해야 한다.
자료구조
바깥쪽부터 확인해주어야하기 때문에 후입선출 방식인 스택을 활용했다.
(를 스택에 추가하고, )가 나오면 열린 괄호를 제거한다.
해결 방법
1. s를 처음부터 끝까지 순회한다.
2. (가 나오면 스택에 추가한다.
3. )가 나오면 스택에서 열린 괄호를 제거한다.
4. 스택이 비었다면 모든 괄호가 짝지어졌으므로 true 반환, 아니라면 false 반환
function solution(s) {
const stack = [];
for (let char of s) {
if (char === '(') {
stack.push(char);
} else {
if (stack.length === 0) {
return false;
}
stack.pop();
}
}
return stack.length === 0;
}
카운터를 활용한 코드도 확인할 수 있었다.
괄호의 짝을 맞추는 것은 단순히 카운터를 사용해 유지할 수 있다.
이 경우 메모리 사용이 적으며, 구현이 간단하다.
function solution(s){
let cum = 0
for (let paren of s) {
cum += paren === '('? 1: -1
if(cum < 0) {
return false
}
}
return cum === 0? true: false;
}
그래도 자료구조를 연습하는 주차이므로 스택을 활용해 풀이한 것을 선택하도록 하겠다.
'Oops, All Code! > 🤯 Oops, My Algorithm!' 카테고리의 다른 글
| ꒰ྀི 08. 프로그래머스:: 피로도 (0) | 2024.07.18 |
|---|---|
| ꒰ྀི 07. 프로그래머스:: 기능개발 (0) | 2024.07.18 |
| ꒰ྀི 05. 프로그래머스:: 큰 수 만들기 (0) | 2024.07.17 |
| ꒰ྀི 04. 프로그래머스:: 소수 찾기 (0) | 2024.07.16 |
| ꒰ྀི 03. 프로그래머스:: 구명보트 (0) | 2024.07.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 도서추천
- 트러블슈팅
- 서평
- js
- 코딩테스트
- react
- javascript
- 부스트캠프
- 어른의어휘공부
- typescript
- 카드뉴스
- 우아한테크코스
- 어휘력
- 프로토타입
- 안성스타필드
- 도서리뷰
- 웹풀스택
- 대학생플리마켓
- 회고
- 카페추천
- 대학생팝업스토어
- 경험플리마켓
- 네이버부스트캠프
- 프리코스
- 소사벌
- 소사벌맛집
- 일급객체
- 비즈플리마켓
- 책추천
- 프론트엔드
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함