์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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
- ๋นํธ์ฐ์ฐ์
- ์ฝ๋ฉํ ์คํธ
- ๋ถํ ์ ๋ณต
- ํ๋ก๊ทธ๋๋จธ์ค
- dp
- ์์
- ๋ถํ ํ์
- Queue
- SwiftUI
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ios
- ๋ธ๋ฃจํธํฌ์ค
- BFS
- WebView
- ์ด์งํ์
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ๋ถํ ์ ๋ณต
- dfs
- Swift
- ๋ฐฑํธ๋ํน
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฐฑ์ค
- ๋์ ํฉ
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ์คํ
- ์ฝํ
- WebApp
- ๋ฌธ์์ด
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ํ๋ก๊ทธ๋๋จธ์ค - [3์ฐจ] ์์ถ ๋ณธ๋ฌธ
๋์ ํ์ด
func solution(_ msg:String) -> [Int] {
var dicIndex = 1 // ์ฌ์ ๋ฒํธ
var dic = [String: Int]()
(65...90).map { String(UnicodeScalar($0)) }.forEach { // ์ฌ์ ์ด๊ธฐํ
dic[$0] = dicIndex
dicIndex += 1 }
let arr = msg.map { $0 }
var result = [Int]()
var temp = "" // ๋ง์ง๋ง result๋ฅผ ๊ธฐ์ตํ๊ธฐ ์ํด temp ์ถ๊ฐ
var count = 0
while arr.count > count {
let start = count // ์์ index
while arr.count > count {
let str = String(arr[start...count].map { $0 })
if dic[str] != nil {
temp = str // ๋ง์ง๋ง str ๊ธฐ์ต
count += 1
continue
}
else {
dic[str] = dicIndex
result.append(dic[temp]!)
dicIndex += 1
break
}
}
}
return result + [dic[temp]!]
}
ํ์ด ํค์๋
์ ์ ํ๊ฒ ๋ฐ๋ณต๋ฌธ๊ณผ ๋ฐฐ์ด์ ๋ค๋ค ํ ์ ์์์ต๋๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ํ ์ธํ์ฌ (0) | 2023.03.29 |
---|---|
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ์ฐพ๊ธฐ (0) | 2023.03.29 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ํผ๋ก๋ (0) | 2023.03.27 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - ๋คํธ์ํฌ (0) | 2023.03.24 |
[swift] ํ๋ก๊ทธ๋๋จธ์ค - k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ (0) | 2023.03.23 |