[코드타카]W2D3

JH Cho·2022년 9월 7일
0

알고리즘

목록 보기
12/12
post-thumbnail

s는 여러 괄호들로 이루어진 String 인자입니다. s가 유효한 표현인지 아닌지 true/false로 반환해주세요.
종류는 '(', ')', '[', ']', '{', '}' 으로 총 6개 있습니다.
아래의 경우 유효합니다. 한 번 괄호를 시작했으면, 같은 괄호로 끝내야 한다.
괄호 순서가 맞아야 한다.

예를 들어 아래와 같습니다.

s = "()"
return true

s = "()[]{}"
return true

s = "(]"
return false

s = "([)]"
return false

s = "{[]}"
return true
 function isValid(s) {
    let newArr = s
 while(newArr.includes('()')){
   newArr = newArr.replace('()','');
 }
  while(newArr.includes('[]')){
   newArr = newArr.replace('[]','');
 }
   while(newArr.includes('{}')){
   newArr = newArr.replace('{}','');
 }
  if(newArr.length === 0){
    return true;
  }else{
    console.log(newArr)
    return false;
  }
        }
  --2번째
  function isValid(s) {
  // 여기에 코드를 입력해주세요.
  tmp = [];
  for (let i = 0; i < s.length; i++) {
    if (s[i] == '(' || s[i] == '{' || s[i] == '[') {
      tmp.push(s[i]);
    }
    else {
      if ((s[i] == ')' && tmp[tmp.length - 1] == '(') ||
        (s[i] == '}' && tmp[tmp.length - 1] == '{') ||
        (s[i] == ']' && tmp[tmp.length - 1] == '[')) tmp.pop();
      else return false;
    }
  }
  if (tmp.length != 0) return false;
  else return true;
}
profile
주먹구구식은 버리고 Why & How를 고민하며 프로그래밍 하는 개발자가 되자!

0개의 댓글