deo2kim
๋งž์™œํ‹€
deo2kim
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • CS
      • Algorithm
      • Data Structure
      • Network
      • DB
      • OS
    • Algorithm Problem
      • Python
      • JavaScript
    • Programming language
      • Python
      • JavaScript
    • Tool
      • Jquery
      • React
    • ๊ฐœ๋ฐœ
    • Infra

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

๋ฐ˜์‘ํ˜•
hELLO ยท Designed By ์ •์ƒ์šฐ.
deo2kim

๋งž์™œํ‹€

[javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ด„ํ˜ธ ํšŒ์ „ํ•˜๊ธฐ(์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ2)
Algorithm Problem/JavaScript

[javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ด„ํ˜ธ ํšŒ์ „ํ•˜๊ธฐ(์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ2)

2021. 8. 14. 13:27
๋ฐ˜์‘ํ˜•

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

  1. ๊ด„ํ˜ธ ํšŒ์ „
  2. ๊ด„ํ˜ธ ์ฒดํฌ
    1. ์Šคํƒ์„ ์ด์šฉํ•˜์—ฌ ๊ด„ํ˜ธ์˜ ์ง์ด ๋งž๋Š”์ง€ ์ฒดํฌ
      1. ์ฃผ์–ด์ง„ ๊ด„ํ˜ธ(ํšŒ์ „์„ ๋งˆ์นœ ๊ด„ํ˜ธ)๋ฅผ ์ชผ๊ฐœ์„œ ํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ์˜จ๋‹ค
        1. ๊ฐ€์ ธ์˜จ ๊ด„ํ˜ธ๊ฐ€ ์™ผ์ชฝ ๊ด„ํ˜ธ์ด๋ฉด ์Šคํƒ์— ๋„ฃ๊ณ 
        2. ์˜ค๋ฅธ์ชฝ ๊ด„ํ˜ธ์ด๋ฉด ์Šคํƒ์˜ ์ œ์ผ ์œ„์—์žˆ๋Š” ๊ด„ํ˜ธ์™€ ๋น„๊ตํ•˜์—ฌ ์ง์ด ๋งž๋Š”์ง€ ์ฒดํฌ
          1. ์ง์ด ๋งž์ง€ ์•Š์œผ๋ฉด ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ๊ฐ€ ์•„๋‹ˆ๋‹ค.
        3. ์Šคํƒ์ด ๋น„์–ด์žˆ์œผ๋ฉด ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ๊ฐ€ ์•„๋‹ˆ๋‹ค.
      2. ๊ด„ํ˜ธ ์ฒดํฌ๊ฐ€ ๋๋‚˜๊ณ  ์Šคํƒ์— ๋‚จ์•„์žˆ๋Š” ๊ด„ํ˜ธ๊ฐ€ ์žˆ์œผ๋ฉด ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ๊ฐ€ ์•„๋‹ˆ๋‹ค

๐Ÿ’จ ์˜ค๋ธŒ์ ํŠธ์˜ ํ‚ค, ๋ฐธ๋ฅ˜ ๊ฐ€์ ธ์˜ค๊ธฐ: Object.keys(my_object), Object.values(my_object)

๐Ÿ’จ ๋ฐฐ์—ด์— ํŠน์ • ์š”์†Œ ํฌํ•จ ์—ฌ๋ถ€: my_list.includes(my_elem)

 

๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ

function solution(s) {
  var answer = 0;

  var length = s.length;
  if (length % 2 == 1) return 0; // ๊ด„ํ˜ธ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ง์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฉด false

  for (var i = 0; i < length; i++) {
    var rotatedS = s.substring(i, length) + s.substring(0, i);
    if (isParenRight(rotatedS)) answer++;
  }
  return answer;
}

function isParenRight(paren) {
  var parenCouple = { '[': ']', '{': '}', '(': ')' };
  var parenList = paren.split('').reverse();

  var stack = [];
  while (parenList.length > 0) {
    var currentParen = parenList.pop();
    if (Object.keys(parenCouple).includes(currentParen)) {
      // ์™ผ์ชฝ ๊ด„ํ˜ธ์ด๋ฉด stack์— ๋„ฃ๊ณ 
      stack.push(currentParen);
    } else {
      // ์˜ค๋ฅธ์ชฝ ๊ด„ํ˜ธ์ด๋ฉด ์Šคํƒ์˜ ์ œ์ผ ์œ„ ๊ด„ํ˜ธ์™€ ๋น„๊ต
      if (stack.length > 0) {
        var beforeParen = stack.pop();
        if (parenCouple[beforeParen] !== currentParen) return false; // ์ง์ด ๋งž์ง€ ์•Š์œผ๋ฉด false
      } else {
        // ์˜ค๋ฅธ์ชฝ ๊ด„ํ˜ธ์ด๋ฉด์„œ ์Šคํƒ์ด ๋น„์–ด์žˆ์œผ๋ฉด false
        return false;
      }
    }
  }

  return true;
}

 

๐Ÿ“•๋ฌธ์ œ ํ™•์ธ

์ถœ์ฒ˜: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Algorithm Problem > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[leetcode] Top K Frequent Elements  (0) 2024.09.28
[leetcode] Longest Substring Without Repeating Characters  (0) 2024.09.27
[javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐ(2021 ์นด์นด์˜ค ์ฑ„์šฉ์—ฐ๊ณ„ํ˜• ์ธํ„ด์‹ญ)  (0) 2021.08.13
[javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด(2021 ์นด์นด์˜ค ์ฑ„์šฉ์—ฐ๊ณ„ํ˜• ์ธํ„ด์‰ฝ)  (0) 2021.08.12
[javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ–‰๋ ฌ ํ…Œ๋‘๋ฆฌ ํšŒ์ „ํ•˜๊ธฐ(2021 Dev-Matching: ์›น ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž(์ƒ๋ฐ˜๊ธฐ))  (0) 2021.08.09
    'Algorithm Problem/JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [leetcode] Top K Frequent Elements
    • [leetcode] Longest Substring Without Repeating Characters
    • [javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐ(2021 ์นด์นด์˜ค ์ฑ„์šฉ์—ฐ๊ณ„ํ˜• ์ธํ„ด์‹ญ)
    • [javascript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด(2021 ์นด์นด์˜ค ์ฑ„์šฉ์—ฐ๊ณ„ํ˜• ์ธํ„ด์‰ฝ)
    deo2kim
    deo2kim
    ์ฝ”๋”ฉ ๊ธฐ๋กํ•˜๊ธฐ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”