Stack

문제 설명 문제 풀이 방법 이 문제는 스택을 사용하는 문제이지만 괄호들이 좌로 한칸씩 회전하며 검증을 해야하기에 기존에 stack 배열에 추가 제거 하는 방식으로는 시간초과가 발생할거 같아 다른 방식을 참고했다. 기존에 내가 사용하던 방식은 돌아가며 stack배열에 하나씩 추가하며 괄호가 짝이 맞으면 pop()메서드를 이용해 stack에서 제거하는 방식이지만, 이번에는 맨 앞요소를 시작으로 짝을 비교하며 짝이 맞다면 stack에서 제거, 맞지 않는다면 stack에 추가하는 방식으로 했다. 이때 다른점은 stack에서 비교해 수정하는 것이 아니라 주어진 배열 혹은 문자열에서 stack에 있는 요소와 비교하는 방식이다. 코드 function solution(s) { let cnt = 0; for(let i=..
문제 설명 문제 풀이 방법 처음에 문자열로만 접근하려 했는데 생각해보니 스택으로 접근하면 더 빠르게 될거 같아 접근법을 바꿨다. 아무래도 문자열의 길이가 1,000,000 까지다 보니 너무 길다 생각했다. 문자열로 접근해 풀게되면 문자열을 배열로 바꾸고, for문을 사용하고 그 안에 splice를 사용하기에 시간 복잡도가 높게 나올거 같았다. stack으로 접근하면 for문 한번만 돌면 되기에 시간 복잡도가 낮게 나올것이다. 내가 작성한 코드 const solution = (s) => { let arr = []; for(let i=0; i
58청춘
'Stack' 태그의 글 목록