์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- algoritm
- URLSession
- SOPT
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋์ ๊ณํ๋ฒ
- discardableResult
- ๊ธฐ์ด๋ฌธ๋ฒ
- GCD
- 0์ด๋์ด์๋๊ธธ
- dfs
- SwiftUI Tutorials
- ์ฐ์ํ์ค๋ถ๋ถ์์ด์ํฉ
- SwiftUI
- HAVIT
- ๊ณ ๋์ kit
- binarySearch
- Swift
- APPJAM
- SQL
- GroupBy
- concurrency
- SwiftUI ํํ ๋ฆฌ์ผ
- IOS
- algorithm
- BFS
- Til
- ์ด์งํ์
- duno
- DynamicProgramming
- Today
- Total
suvera-dev ๐ฅฆ
20230330 TIL ๋ณธ๋ฌธ
1. Swift ๋ณต์ต
๋ฐ๋ณต๋ฌธ ๊ตฌ๋ฌธ ๋ค์ด๋ฐ.
var numbers: [Int] = [3, 2342, 6, 3252]
numbersLoop: for num in numbers {
if num > 5 || num < 1 {
continue numbersLoop
}
var count: Int = 0
printLoop: while true {
print(num)
count += 1
if count == num {
break printLoop
}
}
removeLoop: while true {
if numbers.first != num {
break numbersLoop
}
numbers.removeFirst()
}
}
// 3
// 3
// 3
// numbers์๋ 3์ด ์ ๊ฑฐ๋จ
- ์ค์ฒฉ ๋ฐ๋ณต๋ฌธ์์ ์ ์ด ํค์๋๊ฐ ์๋ชป๋ ๋ฒ์์์ ๋์ํ๋ ์ค์๋ฅผ ์ค์ฌ์ค ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
- ๋, ๋ค์ด๋ฐ์ ํด๋๋ ์ด๋ค ๋ฐ๋ณต๋ฌธ์ธ์ง ๊ตฌ๋ถํ๊ธฐ๋ ํธํ ๊ฒ ๊ฐ์์. ํ์ํ ๋ ์จ๋ด์ผ๊ฒ ์ต๋๋น.
2. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์ค์ํํธ
์ด์ ์๋ ๊ณต๋ถํ๋ ๋ด์ฉ๋ค์ด์ง๋ง, ๋ค์๋ด๋ ์๋กญ๊ฒ ๋๊ปด์ง๋ ๊ฑด ์์ผ๊น์..
๋ฐ ๋น ์ง ๋ ์ ๋ฌผ ๋ถ๊ธฐ๋ผ๋๊ฒ ์ด๋ฐ๊ฑธ๊น์ ? ใ ใ ใ &^^
ํ์ง๋ง ์ด๋์ ๋ดค๋๋ฐ ๋ฐ์ด ๋น ์ก์ผ๋ฉด ๊ทธ๋ฅ ๊ทธ ์ด์์ผ๋ก ๋ ๋ค ๋ค์ด ๋ถ์ผ๋ผ๋ค์..
์ฌ์ค.. ๊ฐ๋ฐ์๋ก ์ด์๋จ์ ์ ์์์ง.. ์ฐธ .. ๊ฑฑ์ ์ด๋ค์..
์ฑ๊ฒฉ ์ ์ด๊ฒ ์ ๊ฒ ํ๋๊ฑธ ์ข์ํ๋ค๋ณด๋๊น
ํ๋๋ฅผ ๊น๊ฒ ํ๊ณ ๋๋๊ฑธ ์ ๋ชปํ๋ ๊ฒ ๊ฐ๊ธดํด์.
๊ทธ๋๋ ์ฌ๋ฏธ๋ฅผ ๋๋ผ๋ ๊ฒ ์ค์์
๋จน๊ณ ์ด ๋ฐฉ๋ฒ์ ์์ง ์ด๊ฒ ๋ฐ์ ์์ผ๋๊น ์ผ๋จ ํด์ผ๊ฒ ์ฃ .. ใ ใ ใ
iOS ๊ณต๋ถ๋ฅผ ํ๋ฉด์ ์ ๋๋ก ๊ฐ๋ฐ์ ๊ณต๋ถํ๊ธฐ ์์ํ๊ฑฐ ๊ฐ์๋ฐ,
๊ธฐ๋ณธ๊ธฐ๊ฐ ํํํ์ง ๋ชปํ ์ํ์์ ํ๋ก์ ํธ๋ถํฐ ๋ ๋ค ํด๋ฒ๋ ธ๋๋ ๊ณต๋ถ ๋ฐฉ๋ฒ๋ ์ ๋ชฐ๋๊ณ
์ด๋ ์๊ฐ๋ถํฐ ์ฝ๋๋ฅผ ์์ฑํ๋๋ฐ ํ๊ณ๊ฐ ์๋๋ผ๊ตฌ์.
๋ด ๋จธ๋ฆฌ์์์ ๋์ค๋ ์ฝ๋๊ฐ ์๋, ๊ตฌ๊ธ์ ์๋ ์ฝ๋๋ค๋ก ๋๋ฐฐ๋.. ใ ใ ใ
๊ทธ๋ฆฌ๊ณ ์ฝ๋๋ฅผ ์งค ๋ ๊ณต๋ถํ๋ ๋ด์ฉ๋ค์ ์์ํ๊ณ ์ ์ฉํ๋ฉด์ ์ง๋ ์ต๊ด์ด ๋ถ์กฑํ ๊ฒ ๊ฐ์์.
์์ผ๋ก๋ ์๊ฐ์ ๋ ํ์ฅ์์ผ์.. ์ฝ๋๋ฅผ ์ง๋ฉด์ ๋ค์ํ ๊ณ ๋ฏผ์ ํ ์ ์๋ ๊ฐ๋ฐ์๊ฐ.. ๋์ด์ ์ข๊ฒ ๋ค์..
๊ทธ๋์ ์์ฆ์ ์๊ณ ๋ฆฌ์ฆ, CS๋ ์ด์ฌํํ๊ณ
iOS ์ด์ธ์ ๋ค์ํ ์ง์๋ค์ ๊ณต๋ถํ๊ณ ์์ต๋๋ค !
๊ทธ๋ฌ๋ค๋ณด๋ ์ ์ ์๊ฐ์ด ํ์ฅ๋๋ ๊ฒ ๊ฐ์์.
์์ผ๋ก๋ ๊พธ์คํ ์ฑ์ฅํด๋๊ฐ์ผ์ฃ ! ํด ..
๋ค๋ค ํ์ดํ ์ ๋๋ค :)
3. ์๊ณ ๋ฆฌ์ฆ ํ์ด - N-Queen
4. ์๊ณ ๋ฆฌ์ฆ ํ์ด - ์์ถ
์ด์ฌํ ํธ๋๋ผ.. ์ง์ด ๋น ์ ธ์ ์ ๋ฆฌ๋ ๋ด์ผ ~.. ใ ใ ใ ๋ค๋ฅธ ์ฌ๋ ํ์ด ๋ณด๊ณ ์ฝ๊ฐ ํํ ์๋ค
์๋ง์ง์ฐฝ ๋ด ์ฝ๋.. ใ ใ ใ ใ ๊ทผ๋ฐ ์ค๊ธฐ ์๊ฒจ์ ๋ต์ ๋ชป๋ณด๋..
func solution(_ msg:String) -> [Int] {
var msgArray = Array(msg)
let alphabet = ["A", "B", "C","D", "E", "F","G", "H", "I","J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
var index = 1
var dictionary = [String: Int]()
for i in alphabet {
dictionary[i] = index
index += 1
}
func checkDic(word: String) -> Bool {
if dictionary[word] != nil {
return true
} else {
return false
}
}
var dicIdx = 26
var result = [Int]()
var startIdx = 0
var endIdx = 0
func changeString() -> String {
if startIdx == 0 || startIdx == msgArray.count-1 {
return String(msgArray[startIdx])
}
var string = String(msgArray[startIdx...endIdx])
while true {
if Array(dictionary.keys).contains(string) == false {
endIdx -= 1
return String(msgArray[startIdx...endIdx])
} else {
endIdx += 1
if endIdx == msgArray.count {
endIdx -= 1
return String(msgArray[startIdx...endIdx])
}
string = String(msgArray[startIdx...endIdx])
}
}
return string
}
while endIdx < msgArray.count {
let changedString = changeString()
result.append(dictionary[changedString]!)
if endIdx == msgArray.count-1 {
break
}
let next = String(msgArray[endIdx+1])
dicIdx += 1
dictionary[changedString+next] = dicIdx
endIdx += 1
startIdx = endIdx
}
return result
}
- ๋ค๋ฅธ ํ์ด๋ ์ฐพ์๋ด์ผ๊ฒ ์ด์ !!
'Private > TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
20230402 TIL (0) | 2023.04.02 |
---|---|
20230401 TIL (0) | 2023.04.02 |
20230331 TIL (1) | 2023.04.01 |
20230329 TIL (2) | 2023.03.30 |
20230328 TIL (6) | 2023.03.29 |