2월 20일 알고리즘 TIL

임덤덤·2023년 2월 20일
0

올바른 괄호

  • 나의 첫 풀이 코드이다
    • 시간복잡도 테스트에서 통과하지 못하고 두개의 테스트가 통과하질 못했다..
    • 이걸로 3시간을 넘게 잡아먹고있었다
function solution(s) {
  if (s[0] === ")") {
    return false;
  }

  let que = s.split("");
  console.log(que);
  let i = 1;
  while (i < que.length) {
    que.shift();
  }
  console.log(s.length % 2);
  return que[0] === ")" && s.length % 2 !== 1 ? true : false;
}
  • 더이상의 시간투자는 좋지않을듯 하여 레퍼런스를 참고했다

function solution(s) {
  let bracket = 0;
  for (const i of s) {
    if (i === "(") {
      bracket += 1;
      continue;
    }
    if (!bracket) {
      return false;
    }
    bracket -= 1;
  }
  return bracket === 0;
}
  • 결국..많은 고민을 하다 검색으로 레퍼런스를 참고했다 보니 많이 찝찝하고 다시 리팩토링 해야겠다는 생각이 들었다
  • 어떤 상황에서 어떤 반복문을 써야하는지를 잘 생각해가면서 문제를 풀어야겠다는 생각을 했다
profile
응애🐣 예비 개발자 입니다.

0개의 댓글