[leet code - easy] Valid Parentheses ๋ฌธ์ œ ํ’€์ด

2023. 8. 23. 11:13ใ†FrontEnd/leet code

Description

Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.

s๋Š” (),{},[]๋งŒ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‚˜๋ด„

 

An input string is valid if:

  1. Open brackets must be closed by the same type of brackets.
  2. Open brackets must be closed in the correct order.
  3. Every close bracket has a corresponding open bracket of the same type.

์—ด๋ฆผ ๊ธฐํ˜ธ๋ž‘ ๋‹ซํž˜ ๊ธฐํ˜ธ ๋‘˜ ๋‹ค ์žˆ์–ด์•ผ ํ•˜๋‚˜๋ด„ ๊ทผ๋ฐ ์ •ํ™•ํ•˜๊ฒŒ ๋‹ซํ˜€์•ผํ•จ ('()'๋Š” ๋˜๋Š”๋ฐ ')(' ์ด๊ฑด ์•ˆ๋˜๋Š” ๋“ฏ)

 

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

Example 1:

Input: s = "()"
Output: true

Example 2:

Input: s = "()[]{}"
Output: true

Example 3:

Input: s = "(]"
Output: false

 

๋ฌธ์ œํ’€์ด

์–ด๋ ค์›Œ์„œ ํžŒํŠธ๋ฅผ ๋จผ์ € ๋ดค๋‹คใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹

stack์„ ์‚ฌ์šฉํ•˜๊ณ ,,,์—ด๋ฆผ ๊ด„ํ˜ธ๊ฐ€ ์žˆ์Œ stack์— pushํ•˜๊ณ ,,,,๋‹ซ์นจ ๊ด„ํ˜ธ๊ฐ€ ๋งˆ์ง€๋ง‰์ด ์•„๋‹ˆ๋ฉด false return,,,

var isValid = function(s) {
    const stack = [];

    for (let i=0; i<s.length; i++) {
        let ss = s.charAt(i);
        switch(ss) {
            case '(' : stack.push(')');
                break;
            case '{' : stack.push('}');
                break;
            case '[' : stack.push(']');
                break;
            default:
                if (ss !== stack.pop()) {
                    return false;
                }
        } 
    }
    
     return stack.length === 0;
};

๋ฌธ์ž๋“ค์„ ๋‹ด์•„๋‘˜ stack์„ ๋งŒ๋“ค๊ณ  for ๋ฌธ ์•ˆ์—์„œ switch๋กœ ๋น„๊ต ์—ฌ๋Š” ๊ด„ํ˜ธ๊ฐ€ ์žˆ์œผ๋ฉด ์ง์ด ๋งž๋Š” ๋‹ซ๋Š” ๊ด„ํ˜ธ๋ฅผ push ํ•ด์คŒ

default๊ฐ’์œผ๋กœ๋Š” stack์— ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๊ฐ€ ๋‹ซํž˜ ๊ด„ํ˜ธ๊ฐ€ ์•„๋‹ˆ๋ฉด false ๋ฐ˜ํ™˜ํ•˜๋ผ๊ณ  ํ•จ.(๋ฌธ์ œ ํ•ด์„ค ์ฐธ๊ณ  ํ•จ)

 

๊ฒฐ๊ณผ

 

'FrontEnd > leet code' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[leet code - easy] Palindrome Number ๋ฌธ์ œ ํ’€์ด  (0) 2023.08.22
[leet code - easy] two sum ๋ฌธ์ œ ํ’€์ด  (0) 2023.08.21