Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- TypeScript
- revalidatepath
- Form
- 리액트
- Supabase
- React Query
- 토이프로젝트
- 리액트 패턴
- 코테
- react router dom
- 동적계획법
- styled component
- tailwind
- 그리디
- tanstack query
- 타입스크립트
- 프로그래머스
- 리덕스
- 스택
- JavaScript
- 리액트 라우터 돔
- 자바스크립트
- 프론트엔드
- React
- reduxtoolkit
- 코딩테스트
- 토이 프로젝트
- react pattern
- Next.js
- 코어자바스크립트
Archives
- Today
- Total
느려도 한걸음씩
문제 16 - 괄호 회전하기(스택) 본문
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/76502
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제
내 정답 코드
function solution(s) {
let answer = 0
let arr = [...s]
let stack = []
for(let i = 0; i < s.length; i++) {
arr.push(arr.shift())
for(let j = 0; j < arr.length; j++) {
let c = arr[j]
if(c === '[' || c === '(' || c === '{') {
stack.push(c)
} else if(c === ']' || c === ')' || c === '}') {
if(stack.length === 0) {
stack.push(false)
} else {
if(c === ']') {
if(stack[stack.length - 1] === '[') {
stack.pop()
}
} else if(c === ')') {
if(stack[stack.length - 1] === '(') {
stack.pop()
}
} else if(c === '}') {
if(stack[stack.length - 1] === '{') {
stack.pop()
}
}
}
}
}
if(stack.length === 0) answer+=1
stack = []
}
return answer
}
'알고리즘 > 코테대비 100문제' 카테고리의 다른 글
문제 18 - 크레인 인형뽑기 게임(스택) (0) | 2025.02.15 |
---|---|
문제 17 - 짝지어 제거하기(스택) (0) | 2025.02.15 |
문제 15 - 10진수를 2진수로 변환하기(스택) (0) | 2025.02.14 |
문제 14 - 괄호 짝 맞추기(스택) (0) | 2025.02.14 |
문제 13 - 실패율 (0) | 2025.02.14 |