MUKER_DEV with iOS

[swift] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 짝지어 μ œκ±°ν•˜κΈ° λ³Έλ¬Έ

πŸ€– μ•Œκ³ λ¦¬μ¦˜/programmers

[swift] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ - 짝지어 μ œκ±°ν•˜κΈ°

MUKER 2023. 2. 23. 14:37
 

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€

μ½”λ“œ μ€‘μ‹¬μ˜ 개발자 μ±„μš©. μŠ€νƒ 기반의 ν¬μ§€μ…˜ 맀칭. ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€μ˜ 개발자 λ§žμΆ€ν˜• ν”„λ‘œν•„μ„ λ“±λ‘ν•˜κ³ , λ‚˜μ™€ 기술 ꢁ합이 잘 λ§žλŠ” 기업듀을 맀칭 λ°›μœΌμ„Έμš”.

programmers.co.kr

문제 ν‘ΈλŠ” 데 μžˆμ–΄ 도움이 λ˜λ„λ‘ λ‚˜μ˜ 풀이와 κ°œμ„ λœ 풀이λ₯Ό μ˜¬λ¦½λ‹ˆλ‹€.
λ˜ν•œ 풀이 ν›„ λ‹€λ₯Έ μ‚¬λžŒμ˜ 풀이λ₯Ό 보고 μ°Έκ³ ν• λ§Œν•œ 풀이도 μ˜¬λ¦½λ‹ˆλ‹€.

- λ¬Έμ œμ— 따라 λ‚˜μ˜ ν’€μ΄λ§Œ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.
- ν•΄λ‹Ή 풀이듀은 풀이 쀑 ν•˜λ‚˜μΌ 뿐 μ΅œμ„ μ˜ ν’€μ΄λŠ” 아닐 수 μžˆμŠ΅λ‹ˆλ‹€.

 


 

λ‚˜μ˜ 풀이

func solution(_ s:String) -> Int{
    var stack = [Character]()
    for i in s {
        stack.append(i)
        while true {
            if stack.count >= 2 {
                if stack[stack.count-1] == stack[stack.count-2] {
                    stack.removeLast()
                    stack.removeLast()
                } else { break } // λ§ˆμ§€λ§‰κ°’κ³Ό λ§ˆμ§€λ§‰κ°’μ˜ μ „μ˜ 값이 같지 μ•Šλ‹€λ©΄ break
            } else { break } // μŠ€νƒμ˜ μš”μ†Œκ°€ 1μ΄ν•˜μΌ λ•Œ break
        }
    }
    if stack.isEmpty { return 1 } else { return 0 }
}

 


 

μ°Έκ³ ν• λ§Œν•œ 풀이

func solution(_ s:String) -> Int{
    var stack = [Character]()

    for char in s {
        if char == (stack.last ?? " ") {
            stack.popLast()
        } else {
            stack.append(char)
        }
    }

    return stack.isEmpty ? 1 : 0
}