ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ(Swift)

2022. 10. 10. 10:52ใ†ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค-Swift

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ(Swift)

 

 

 ๋ฌธ์ œ ์„ค๋ช…

 

https://school.programmers.co.kr/learn/courses/30/lessons/12973

 

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

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

 

 

 ๋‚˜์˜ ํ’€์ด

 

์ฒ˜์Œ์—๋Š” ๋ฌธ์ œ์—์„œ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์„ ์Šคํƒ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•ด์„œ ์ง€์›Œ๋‚˜๊ฐ€๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋ณต์žกํ•  ๊ฒƒ ๊ฐ™์•„์„œ ๋ฌธ์ œ ๊ทธ๋Œ€๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ์ œ๊ฑฐํ•ด๋‚˜๊ฐ”๋‹ค.

ํ•˜์ง€๋งŒ ๋ฌธ์ž์—ด ๊ธธ์ด ์กฐ๊ฑด์ด 1,000,000์ด๊ธฐ ๋–„๋ฌธ์— ๋ฐฐ์—ด์„ ์—ฌ๋Ÿฌ๋ฒˆ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ผ€์ด์Šค์—์„œ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚ฌ๋‹ค.

 

๊ทธ๋ž˜์„œ ๋นˆ ์Šคํƒ์„ ๋งŒ๋“ค์–ด์„œ ํ•œ ๋ฒˆ๋งŒ ๋Œ๋ฉด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ’€์ดํ–ˆ๋‹ค.

 

import Foundation

func solution(_ s:String) -> Int{
    var stack: [Character] = []
    var arr = Array(s)
    
    for i in arr.indices {
        if stack.isEmpty { stack.append(arr[i])}
        else {
            if stack.last! == arr[i] {
                stack.removeLast()
            } else {
                stack.append(arr[i])
            }
        }
    }

    return stack.isEmpty ? 1 : 0
}

 

 

 

 ํ”ผ๋“œ๋ฐฑ

 

๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•  ๋•Œ last๊ฐ’๊ณผ removeLastํ•จ์ˆ˜๋ฅผ ์ ๊ทน์ ์œผ๋กœ ์ด์šฉํ•˜์ž.