일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 스택
- level2
- BFS
- 자료구조
- 문자열
- 다이나믹 프로그래밍
- 알고리즘
- 딕셔너리
- 웹 프론트엔드
- web
- DFS
- programmers
- 그래프 탐색
- 그래프 이론
- DP
- 구현
- 백준
- 브루트포스 알고리즘
- CSS
- JavaScript
- 자바스크립트
- 프로그래머스스쿨
- 그래프이론
- 파이썬
- 너비 우선 탐색
- 그리디 알고리즘
- lv2
- 프로그래머스
- BASIC
- 정렬
Archives
- Today
- Total
DevLog:-)
[프로그래머스][JavaScript]올바른 괄호 본문
반응형
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
function solution(s){
let stackCount =0;
for (let i of s){ //문자열 각 문자 분석(인덱스 접근 보다 효율성 올라감)
if(i == "("){stackCount+=1;}
else{stackCount-=1;}
// i==="(" ? stackCount++ : stackCount--;
if(stackCount < 0){return false;}
}
if(stackCount!=0){return false;}
else {return true;}
//console.log(typeof(answer)); ->boolean
}
💡아이디어
"(" 일 때 stackCount에 +1을 한다.
")" 일때 stackCount에 -1을 한다.
- ")"가 먼저 올 때 : stackCount가 음수가 된다 -> false
- "( )"짝이 잘 맞을 때 : 최종 stackCount가 0이 된다. -> true
- 짝이 안 맞을 때 : 최종 stackCount가 0이 안된다. -> false
✅checkpoint
스택이란? | -데이터 저장을 위한 자료구조 -LIFO(Last In First Out, 후입선출) 구조 -삽입과 삭제가 한쪽에서 이루어짐 |
for(let i of arr){} | 문자열에 각 문자 접근 방법(인덱스 접근 보다 효율성이 높다. ) |
a==="a" ? count++ : count--; | 조건 ? 참 : 거짓; |
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][JavaScript]입국심사 (0) | 2023.09.27 |
---|---|
[프로그래머스][JavaScript]베스트앨범 (0) | 2023.09.25 |
[프로그래머스][Javascript]구명보트 (0) | 2023.08.27 |
[프로그래머스][Javascript]카펫 (0) | 2023.08.21 |
[프로그래머스][Javascript]프로세스 (0) | 2023.08.15 |