728x90
[Javascript] (프로그래머스 level 2) 올바른 괄호
💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.
내 풀이
function solution(s){
let count = 0;
for (let i = 0; i < s.length; i++) {
if (s[i] === '(') {
count++;
continue;
} else if (s[i] === ')') {
count--;
}
if (count < 0) {
return false
}
}
return count === 0;
}
- 스택 문제라는 걸 알고 있어서 push() pop()을 통해 풀었더니 “시간 초과”가 뜨네요..
- 그래서 그냥 위 코드 처럼 count해서 ‘(’ 이면 ++ ‘)’ 이면 — 로 풀었습니다.
다른 사람 풀이 참고한 풀이
function solution(s){
let count = 0
for (let char of s) {
count += char === '(' ? 1: -1
if(count < 0) {
return false
}
}
return count === 0;
}
- 로직은 같은데 3 항 연산자를 활용해서 코드 라인이 훨씬 짧네요.
배운 점, 느낀 점
'Coding Test > JavaScript' 카테고리의 다른 글
[Javascript] (프로그래머스 level 0) 문자 반복 출력하기 (0) | 2022.10.09 |
---|---|
[Javascript] (프로그래머스 level 0) 양꼬치 (0) | 2022.10.09 |
[Javascript] **(프로그래머스 level 0) 짝수는 싫어요** (0) | 2022.10.07 |
[Javascript] (프로그래머스 level 2) 카펫 (0) | 2022.09.30 |
[Javascript] (프로그래머스) 짝지어 제거하기 (level 2) (0) | 2022.09.28 |
[Javascript] (프로그래머스) 최솟값 구하기 (level 2) (0) | 2022.09.27 |
코드카타 못 푼 문제 (재귀 함수) (최단 경로?) (0) | 2022.08.18 |
[Javascript] (프로그래머스 level 2) 피보나치 수 (0) | 2022.08.15 |
댓글