Code Kata #6 Same Reverse

kich555ยท2021๋…„ 10์›” 3์ผ
0

Code Kata

๋ชฉ๋ก ๋ณด๊ธฐ
6/7

๐Ÿ’ปSame Reverse

s๋Š” ์—ฌ๋Ÿฌ ๊ด„ํ˜ธ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ String ์ธ์ž์ž…๋‹ˆ๋‹ค. s๊ฐ€ ์œ ํšจํ•œ ํ‘œํ˜„์ธ์ง€ ์•„๋‹Œ์ง€ true/false๋กœ ๋ฐ˜ํ™˜ํ•ด์ฃผ์„ธ์š”.

์ข…๋ฅ˜๋Š” '(', ')', '[', ']', '{', '}' ์œผ๋กœ ์ด 6๊ฐœ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ๊ด„ํ˜ธ๋ฅผ ์‹œ์ž‘ํ–ˆ์œผ๋ฉด, ๊ฐ™์€ ๊ด„ํ˜ธ๋กœ ๋๋‚ด์•ผ ํ•˜๋ฉฐ ๊ด„ํ˜ธ์˜ ์ˆœ์„œ๊ฐ€ ๋งž์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Examplereturn
"()"true
"()[]{}"true
"(]"false
"([)]"false
"{[]}"true
"[]{}"true

โ˜•์ฒซ๋ฒˆ์งธ ํ’€์ด

function isValid(s){
  const arr = [] // ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ• ๋•Œ ์‚ฌ์šฉํ•  ๋นˆ ๋ฐฐ์—ด
  for(i=0;i<s.length;i++){
      if(s[i] === "(" || s[i] === "{" || s[i] === "["){
        arr.push(s[i]) // ( { { ์™€ ๊ฐ™์€ ์•ž ๊ด„ํ˜ธ๋ฅผ ๋งŒ๋‚˜๋ฉด ๋ฐฐ์—ดarr์— ๋„ฃ์Œ
      }else if(arr[arr.length-1] === "(" && s[i] === ")" || 
              arr[arr.length-1] === "{" && s[i] === "}" ||
        arr[arr.length-1] === "[" && s[i] === "]") {
          arr.pop() // ๋งŒ์•ฝ ๋ฐฐ์—ดarr์˜ ๋งˆ์ง€๋ง‰ ๊ฐ’์ด ( or { or [ ์ผ๋•Œ  
        } else {
          return false
        }
  }
return arr.length ? false : true
}

์‹์€ ๋ณต์žกํ•ด๋ณด์—ฌ๋„, ์กฐ๊ฑด๋ฌธ ํ•˜๋‚˜๋ฉด ๋๋‚œ๋‹ค. (์“ฐ๋Š”๊ฒŒ ํž˜๋“ค๋‹ค)

profile
const isInChallenge = true; const hasStrongWill = true; (() => { while (isInChallenge) { if(hasStrongWill) {return 'Success' } })();

0๊ฐœ์˜ ๋Œ“๊ธ€