[JavaScript] 프로그래머스 짝지어 제거하기 풀이

송히·2023년 8월 10일
0
post-thumbnail

🔍 2017 팁스타운 > 짝지어 제거하기

클릭해서 문제 전체 보기🔼

📖 풀이 코드

function solution(s) {
  let newArr = [];

  s.split("").forEach((ele) => {
    if (newArr[newArr.length - 1] == ele) {
      newArr.pop();
    } else {
      newArr.push(ele);
    }
  });

  if (newArr.length != 0) return 0;
  else return 1;
}

📢 풀이 설명


📖 잘못된 풀이 코드

class Stack {
  constructor() {
    this.arr = [];
  }
  push(data) {
    this.arr.push(data);
  }
  pop(index) {
    return this.arr.splice(index, 2);
  }
}

function solution(s) {
  let sArr = s.split("");
  let stack = new Stack();

  for (i = 0; i < sArr.length; i++) {
    stack.push(sArr[i]);
    if (stack.arr[stack.arr.length - 2] == sArr[i]) stack.pop(stack.arr.length - 2);
  }

  if (stack.arr.length != 0) return 0;
  else return 1;
}

채점 결과: 정확성 테스트 모두 통과, 효율성 테스트 2에서 실패(시간 초과)


📢 풀이 설명
스택을 사용하는 것보다, 효율 좋은 함수를 사용하는 게 더 중요하다는 것을 느꼈습니다.,,

profile
데브코스 프론트엔드 5기

1개의 댓글

comment-user-thumbnail
2023년 8월 10일

큰 도움이 되었습니다, 감사합니다.

답글 달기

관련 채용 정보