Skip to content

[Algorithm] Bracketsย #146

@hwangJi-dev

Description

@hwangJi-dev

๐Ÿ’ฌย ๋ฌธ์ œ

https://app.codility.com/programmers/lessons/7-stacks_and_queues/brackets/


๐Ÿ’ฌย Idea

  • ์—ด๋ฆฐ ๊ด„ํ˜ธ์ผ ๋•Œ๋Š” stack์— ์ง‘์–ด๋„ฃ๊ณ 
  • ๋‹ซํžŒ ๊ด„ํ˜ธ์ผ ๋•Œ๋Š” ์Šคํƒ์˜ ์ตœ์ƒ๋‹จ ์›์†Œ๋ฅผ ๊บผ๋‚ด์„œ ํ•ด๋‹น ์›์†Œ๊ฐ€ ๋‹ซํžŒ ๊ด„ํ˜ธ์™€ ์ง์ด ์•„๋‹ˆ๋ผ๋ฉด 0์„ ๋ฆฌํ„ดํ•œ๋‹ค.

๐Ÿ’ฌย ํ’€์ด

public func solution(S : inout String) -> Int {
    let pairBracket: [Character: Character] = ["}": "{", ")": "(", "]": "["]
    var stack: [Character] = []
    
    for s in S {
        switch s {
        case "}", "]", ")":
            let lastChar = stack.popLast()
            if lastChar != pairBracket[s] { return 0 }
        default:
            stack.append(s)
        }
    }
    
    return stack.isEmpty ? 1 : 0
}

์†Œ์š”์‹œ๊ฐ„ : 15๋ถ„

์‹œ๊ฐ„ ๋ณต์žก๋„ : O(N)

ํ‰๊ฐ€ํ‘œ : https://app.codility.com/demo/results/trainingYVSH9V-MA3/

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions