코딩테스트 (Stack)

강쥐사랑하는사람·2022년 9월 26일
0

문제

괄호가 정상적으로 짝지어졌으면 true, 그렇지 않으면 false를 반환하는 함수

강사제시 답(효율성)

function solution(s) {
  var stack = [];

  for (const c of s) {
    if (c === "(") {
      count += 1;
    } else {
      if (count === 0) {
        return false;
      }
      count -= 1;
    }
  }
  return stack.length === 0;
}

내 답(강사 피드백)

function solution(s) {
  if (s[s.length - 1] === "(") return false;
  if (s.length % 2 !== 0) return false;

  let left = 0;
  let right = 0;
  for (const v of s) { // 문자열 바로 루프돌리기
    v === "(" ? left++ : right++;
    if (left < right) return false;
  };

  return left === right;
}

내 답

function solution(s) {
  var answer = true;
  var stack = [...s];
  if (stack[stack.length - 1] === "(") return (answer = false);
  if (stack.length % 2 !== 0) return (answer = false);
  else if (answer !== false) {
    var left = 0;
    var right = 0;
    arr.forEach((v) => {
      v === "(" ? left++ : right++;
      if (left < right) return (answer = false);
    });
  }
  return answer;
}
profile
목표가 있는 사람

0개의 댓글