์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- ๋ฐฑํธ๋ํน
- ๋ถํ ์ ๋ณต
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฐฑ์ค
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ์์
- ๋นํธ์ฐ์ฐ์
- Queue
- ๋ถํ ์ ๋ณต
- ์ฝ๋ฉํ ์คํธ
- BFS
- ์คํ
- ๋ถํ ํ์
- SwiftUI
- dp
- Swift
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋ธ๋ฃจํธํฌ์ค
- ๋์ ํฉ
- ๋ฌธ์์ด
- dfs
- WebApp
- ios
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฝํ
- WebView
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ์ด์งํ์
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๊ดํธ ๋ณํ ๋ณธ๋ฌธ
์ฑ๊ณต ํ์ด
import Foundation
func solution(_ p:String) -> String {
var result = ""
func correctCheck(_ s: String) -> Bool {
var cStack = [String]()
let strArr = s.map {String($0)}
for i in 0..<s.count {
if strArr[i]=="(" {
cStack.append(strArr[i])
} else {
if cStack.isEmpty || cStack.last != "(" {
return false
} else {
cStack.removeLast()
}
}
}
return cStack.isEmpty
}
func balanceCheck(_ w: String) -> String {
if w=="" {return ""}
var stack = [String]()
var count = (0,0)
var wArr = w.map {String($0)}
var u = "", v = ""
for i in 0..<wArr.count { // u,v ๊ตฌํ๊ธฐ
if wArr[i] == "(" {
count.0 += 1
} else {
count.1 += 1
}
stack.append(wArr[i])
if count.0 == count.1 {
u = stack.joined()
v = wArr.suffix(wArr.count-i-1).joined()
print("u: \(u), v: \(v)")
break
}
}
if u.first == "(" { // ์๋๋ ๋ง๋ค์๋ correctCheck ํจ์๋ฅผ ์ป์ง๋ง, ํ์ด์ u์ ์ฒซ๋ฒ์งธ๊ฐ "("์ธ์ง๋ง ํ์ธํด๋ ๋จ.
result += u
return u+balanceCheck(v)
} else {
var temp = u.map {String($0)}
temp.removeFirst()
temp.removeLast()
for i in 0..<temp.count {
if temp[i] == "(" {
temp[i] = ")"
} else {
temp[i] = "("
}
}
return "(" + balanceCheck(v) + ")" + temp.joined()
}
}
print(result)
return balanceCheck(p)
}
ํ์ด ํค์๋
- ์ง๋ฌธ์ ์์๋ฅผ ์ ์ฝ์ด๋ณด๊ณ ๊ทธ๋๋ก ์ ๊ตฌํํด๋ด๋ฉด ๋๋ ๋ฌธ์
- ํ์ง๋ง ๋๋ 2์๊ฐ์ด๋ ๊ฑธ๋ฆฐ ๋ฌธ์ ^^
'๐ค ์๊ณ ๋ฆฌ์ฆ > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ง๋ฒ์ ์๋ฆฌ๋ฒ ์ดํฐ (0) | 2023.06.27 |
---|---|
[swift] ํ๋ก๊ทธ๋๋จธ์ค - [3์ฐจ] ๋ฐฉ๊ธ๊ทธ๊ณก (0) | 2023.06.26 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฌด์ธ๋ ์ฌํ (0) | 2023.06.23 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฉ๋ด ๋ฆฌ๋ด์ผ (0) | 2023.06.23 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ํ๋ ฌ ํ ๋๋ฆฌ ํ์ ํ๊ธฐ (0) | 2023.06.23 |