-
[프로그래머스] JavaScript | 올바른 괄호 (스택)Algorithm 2022. 8. 17. 00:49
https://school.programmers.co.kr/learn/courses/30/lessons/12909
문제
풀이
- 스택을 사용해서 괄호의 ( ) 쌍이 맞는지 확인하는 문제로, 만약 ) 시작하거나 (로 시작해도 (() 처럼 쌍이 맞지 않을 경우 false를 리턴해야한다. 스택을 사용할 경우 마지막에 배열의 개수가 0인지 검증하고, 아니면 단순히 덧셈, 뺄셈으로 0인지 검증해도 된다.
- 이번 문제는 이전에 백준에서도 여러 케이스로 풀어서 '('이면 더하고, ')'이면 빼질 수 있도록 했는데, 일부 테스트 케이스에서 통과하지 못했다.
- 그래서 다음으로 push, pop을 사용했고, 제출했으나 이번엔 시간초과로 효율성 부분에서 통과하지 못했다.
- 세번째로 push, pop을 사용했으나, else-if 로 특정 케이스에 부합하지 않을 경우 곧바로 false를 return하도록 했다. 더불어 answer 변수에 담지 않고 각 분기마다 곧바로 return 하도록 했더니 효율성도 통과했다.
제출코드 및 채점결과
- 1차 오답
- 2차 오답
- 3차 정답
'Algorithm' 카테고리의 다른 글
[프로그래머스] JavaScript | 크기가 작은 부분 문자열 (0) 2023.01.08 [백준 알고리즘] C++ | 10757번 큰 수 A+B (0) 2022.08.19 [프로그래머스] JavaScript | 숫자 문자열과 영단어 (0) 2022.08.15 [백준 알고리즘] C++ | 0912번 괄호 더하기 (0) 2022.07.06 [백준 알고리즘] C++ | 2669번 직사각형 네개의 합집합의 면적 구하기 (0) 2022.06.15