์•Œ๊ณ ๋ฆฌ์ฆ˜

Algorithm | Brackets ์œ ํšจ์„ฑ ๋กœ์ง ๊ตฌํ˜„

2022. 1. 17. 15:18

๐Ÿ‘“ ๋ฌธ์ œ

๋‚˜์˜ ๋‹ต์•ˆ

function isValid(s) {
 const openBrackets = ['(', '[', '{'];
 const closeBrackets = [')', ']', '}'];  
  for(let i=0; i<3; i++){
    let open = s.indexOf(openBrackets[i]);
    let close = s.indexOf(closeBrackets[i]);
    if( (close-open)%2 === 1) {
      return true;
    } else {
      return false;
    }
  }
}

์‚ฌ๊ณ ์˜ ํ๋ฆ„

  1. true ๊ฐ’์ด ๋‚˜์˜ค๊ธฐ ์œ„ํ•ด์„œ ๊ฐ open bracket๊ณผ close bracket์€ ์—ฐ์ด์–ด ๋‚˜์˜ค๋˜์ง€ ํ˜น์€ ์ด๋Ÿฐ ๊ด„ํ˜ธ๋“ค ๋ฐ”๊นฅ์— ์œ„์น˜ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๊ฐ„์— ๋ธŒ๋ผ์ผ“ ์„ธํŠธ๋“ค์ด ์กด์žฌํ•ด์•ผํ•œ๋‹ค.
    i.e). {[()]} / []({}) ...
  2. ๋”ฐ๋ผ์„œ ์„ธํŠธ๊ฐ€ ๋˜๋Š” ๋ธŒ๋ผ์ผ“์˜ ์ธ๋ฑ์Šค๋Š” 2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ๊ฐ’์ด 1์ด ๋˜์–ด์•ผ ํ•œ๋‹ค.
  3. open bracket ๊ณผ close bracket์„ ๋‚˜๋ˆ ์„œ ๋ฐฐ์—ด์— ๋„ฃ์€ ๋‹ค์Œ, ์„ธํŠธ๊ฐ€ ๋˜๋Š” ๋ธŒ๋ผ์ผ“๋“ค์˜ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌํ•˜๊ณ  close bracket์˜ ์ธ๋ฑ์Šค ๊ฐ’์—์„œ open bracket์˜ ์ธ๋ฑ์Šค๋ฅผ ๋นผ๊ณ  ๊ทธ ๊ฐ’์„ 2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 1์ด๋ฉด true, ์•„๋‹ˆ๋ฉด false๊ฐ€ ์ถœ๋ ฅ ๋˜๋„๋ก ํ•œ๋‹ค.

โŒ ์˜ˆ์™ธ

s = "{}"    // false    
// bracket์„ i ์— ๋”ฐ๋ผ (, [, { ์ˆœ์„œ๋กœ ๋น„๊ตํ•˜์—ฌ ์ฒซ๋ฒˆ์งธ ์†Œ๊ด„ํ˜ธ ๋น„๊ต์—์„œ false ๊ฐ’์ด ์ƒ๊ธฐ๋ฉด false ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค. 

s = "()))"        // true
s = "()}[]"        // true
// open ๋ธŒ๋ผ์ผ“๊ณผ close ๋ธŒ๋ผ์ผ“์˜ ์„ธํŠธ๊ฐ€ ๋งž์ง€ ์•Š์œผ๋ฉด ์กฐ๊ฑด๋ฌธ์ด ๋Œ์•„๊ฐ€์ง€ ์•Š๋Š”๋‹ค.

'์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฑ์ค€ ์˜จ๋ผ์ธ์ €์ง€ 100% ํ™œ์šฉํ•˜๊ธฐ ( vscode์—์„œ nodejs ๋””๋ฒ„๊น… ๋ชจ๋“œ ์‚ฌ์šฉ)  (1) 2022.05.02
๋ฐฑ์ค€ JS | 1110๋ฒˆ ๋”ํ•˜๊ธฐ ์‚ฌ์ดํด  (0) 2022.04.26
๋ฐฑ์ค€ JS | 2525๋ฒˆ ์˜ค๋ธ์‹œ๊ณ„  (0) 2022.04.13
Algorithm | Stringํ˜• ์ธ์ž์—์„œ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๊ฐ€์žฅ ๊ธด ๋‹จ์–ด์˜ ๊ธธ์ด ๋ฐ˜ํ™˜ํ•˜๊ธฐ-CodeKata3  (0) 2022.01.18
์•Œ๊ณ ๋ฆฌ์ฆ˜ | ๋” ํ•ด์„œ ํŠน์ • ์ˆ˜ ๋‚˜์˜ค๋Š” ๋ฐฐ์—ด ์š”์†Œ ์ฐพ๊ธฐ (codeKata day1)  (0) 2022.01.11
'์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋ฐฑ์ค€ JS | 1110๋ฒˆ ๋”ํ•˜๊ธฐ ์‚ฌ์ดํด
  • ๋ฐฑ์ค€ JS | 2525๋ฒˆ ์˜ค๋ธ์‹œ๊ณ„
  • Algorithm | Stringํ˜• ์ธ์ž์—์„œ ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๊ฐ€์žฅ ๊ธด ๋‹จ์–ด์˜ ๊ธธ์ด ๋ฐ˜ํ™˜ํ•˜๊ธฐ-CodeKata3
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ | ๋” ํ•ด์„œ ํŠน์ • ์ˆ˜ ๋‚˜์˜ค๋Š” ๋ฐฐ์—ด ์š”์†Œ ์ฐพ๊ธฐ (codeKata day1)
3jun
3jun
3jun3jun ๋‹˜์˜ ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
3jun
3jun
3jun
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (94)
    • ํ”„๋กœ์ ํŠธ (5)
    • Web (9)
    • JavaScript (19)
    • React (12)
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (31)
    • Git (3)
    • AWS (3)
    • TypeScript (3)
    • CS (2)
    • Error (6)
    • ํšŒ๊ณ  (1)

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

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

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

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • this.props.history.push
  • react
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค js
  • ๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๋ฐฑ์ค€ ์ฝ”ํ…Œ
  • Promise
  • state
  • airbnb style guide
  • ๋ฐฑ์ค€ js
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ js
  • ์œ ํšจ์„ฑ ๋กœ์ง
  • msw ์—๋Ÿฌ
  • ๋ฐฑ์ค€js
  • msw
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”ํ…Œ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
  • JavaScript
  • outer environment
  • ๋ฐฑ์ค€ ์˜จ๋ผ์ธ์ €์ง€

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

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.
3jun
Algorithm | Brackets ์œ ํšจ์„ฑ ๋กœ์ง ๊ตฌํ˜„
์ƒ๋‹จ์œผ๋กœ

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

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.