728x90 ๋ฐ์ํ [Data Structure] ํด์ฌ ํ ์ด๋ธ(Hash Table) ๊ตฌํํด๋ณด๊ธฐ(feat. Swift) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ ์ ๋ฒ ๊ธ์์ ํด์ฌ ํ ์ด๋ธ์ ์ด๋ก ์ ์ด์ด์ ์ง์ ๊ตฌํํด ๋ณด๋ ค๊ณ ํฉ๋๋ค! (ํน์ ์ ๋ฒ ๊ธ์ ์๋ณด์ จ๋ค๋ฉด ์ฌ๊ธฐ ๋ฅผ ํตํด์ ๋ณด๊ณ ์์ฃผ์ธ์~) ๋ฐ๋ก ์์ํ ๊ฒ์~ HashTable ๋จผ์ ์ ๋ ํด์ฌ ํจ์๋ฅผ Digit Folding ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํด์ ๋ง๋ค ๊ฒ์ด๊ธฐ ๋๋ฌธ์ key๊ฐ์ String์ผ๋ก ์ค์ ํ์ต๋๋ค. ๋ํ ์ถฉ๋์ด ๋ฌ์ ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก Chaining ๊ธฐ๋ฒ์ ์ฌ์ฉํ์์ง๋ง ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๋์ ๋ฐฐ์ด์ ์ฌ์ฉํ์ต๋๋ค. ์๋์ ๊ฐ์ด typealias๋ก ๋ณ์นญ์ ์ค์ ํด์ฃผ๊ณ ๋ฒํท์ ์ด์ค๋ฐฐ์ด๋ก ์ ์ธํ์ต๋๋ค. public struct HashTable { public typealias Key = String private typealias Element = (key:Key,value:Val.. 2021. 11. 16. [Data Structure] ํด์ฌ ํ ์ด๋ธ(Hash Table)์ด๋? (feat. ์ด๋ก ) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ ์ฐ๋ฆฌ๊ฐ ์์ฃผ ํํ๊ฒ ์ฌ์ฉํ๊ณ ์๋ ํด์ฌ ํ ์ด๋ธ, Swift๋ก ๋งํ๋ฉด ๋์ ๋๋ฆฌ์ ๋ํด์ ์์๋ณผ ๊ฑฐ์์! ์ด๋ฏธ ๊ตฌํ๋์ด ์๋ ์ฝ๋๋ก ์ฝ๊ฒ ์ฌ์ฉํ๋๋ฐ ์ง์ ๊ตฌํํ๋ ค๊ณ ํ๋ ์ง์ง ๋ณต์กํ๋๋ผ๊ตฌ์. ๊ทธ๋์ ์ค๋์ ํด์ฌ ํ ์ด๋ธ์ ๋ํด์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค! ๋ฐ๋ก ์์ํ ๊ฒ์~ ํด์ฌ ํ ์ด๋ธ(Hash Table)์ด๋? ์ ์๋ ์๋์ ๊ฐ์ต๋๋ค. ํด์ ํ ์ด๋ธ์ ์ปดํจํ ์์ ํค๋ฅผ ๊ฐ์ ๋งคํํ ์ ์๋ ๊ตฌ์กฐ์ธ, ์ฐ๊ด ๋ฐฐ์ด ์ถ๊ฐ์ ์ฌ์ฉ๋๋ ์๋ฃ ๊ตฌ์กฐ์ด๋ค. ํด์ ํ ์ด๋ธ์ ํด์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ธ(index)์ ๋ฒํท(bucket)์ด๋ ์ฌ๋กฏ(slot)์ ๋ฐฐ์ด๋ก ๊ณ์ฐํ๋ค. - ์ํค ๋ฐฑ๊ณผ - ์ฆ, key์ value๋ฅผ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. key๊ฐ์ผ๋ก value๋ฅผ ํ ๋ฒ์ ์ฐพ์ .. 2021. 11. 15. [Swift] ํ๋ก๊ทธ๋๋จธ์ค ์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง 3 ๊ณต ์ด๋ ์๋ฎฌ๋ ์ด์ Problem ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ณต ์ด๋ ์๋ฎฌ๋ ์ด์ nํ m์ด์ ๊ฒฉ์๊ฐ ์์ต๋๋ค. ๊ฒฉ์์ ๊ฐ ํ์ 0, 1, ..., n-1๋ฒ์ ๋ฒํธ, ๊ทธ๋ฆฌ๊ณ ๊ฐ ์ด์ 0, 1, ..., m-1๋ฒ์ ๋ฒํธ๊ฐ ์์๋๋ก ๋งค๊ฒจ์ ธ ์์ต๋๋ค. ๋น์ ์ ์ด ๊ฒฉ์์ ๊ณต์ ํ๋ ๋๊ณ , ๊ทธ ๊ณต์ ๋ค์๊ณผ ๊ฐ์ ์ฟผ๋ฆฌ programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ ํจ์จ์ฑ์ด ํต์ฌ์ธ ๋ฌธ์ ์์ต๋๋ค. ์ต๋ ํ๊ณผ ์ด์ด ๊ฐ 10^9, ์ต๋ ์ฟผ๋ฆฌ ๊ฐฏ์๊ฐ 20๋ง์ผ๋ก ์ด๋ง์ด๋งํ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด ๋ง์ฝ ๋ชจ๋ ์์น์์ ์๋ฎฌ๋ ์ด์ ์ ๋๋ฆด ๊ฒฝ์ฐ ์ต๋ 10^9 * 10^9 * 200000 ์ด ๋ฉ๋๋ค. ์๊ฐ์ด๊ณผ๋ฅผ ํผํ๊ธฐ ์ํด์ ๋ชฉ์ ์ง์์๋ถํฐ ์ฟผ๋ฆฌ์ ์ญ์์ผ๋ก ๋๋์๊ฐ๋ฉด์ ๊ฐ๋ฅํ ๋ฒ์๊ฐ ์ด๋๊น์ง์ธ์ง๋ฅผ ์ฒดํฌํ๋ ๊ฒ์ด ์ค์ํ์ต๋๋ค. ์ด๋ก ์ค๋ช ์๋์ ๊ฐ์ด ๋ชฉ์ .. 2021. 11. 15. [Flutter Error] CocoaPods could not find compatible versions for pod "cloud_fire ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ ์ค๋๋ง์ ํ๋ฌํฐ ๊ณต๋ถ๋ฅผ ํ๋๋ฐ ํ์ด์ด๋ฒ ์ด์ค์ ์ฐ๋ ๊ณผ์ ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ ๋ชฉ์ฒ๋ผ "CocoaPods could not find compatible versions for pod "cloud_firestore": In Podfile" ๋ผ๋ ์๋ฌ์์ต๋๋ค. ํด์์ ํด๋ณด๋ "์ฝ์ฝ์ํ์์ ํ์ด์ด์คํ ์ด๊ฐ ํธํ๋๋ ๋ฒ์ ์ ์ฐพ์ ์ ์์ด" ์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ Flutter ํ๋ก์ ํธ์ iOS ํด๋๋ก ์ด๋ํ๋ฉด Podfile์ด ์์๊ฑฐ์์. ์๋์ ๊ฐ์ด Podfile์์ #platform:ios, '9.0' ์ด๋ผ๊ณ ์ ํ์์๊ฑฐ์์. ์ด ๋ถ๋ถ์ #์ ์์ ์ฃผ๊ณ ios๋ฒ์ ์ 10.0์ผ๋ก ์ฌ๋ ค์ฃผ๋ฉด ์๋ฌ๊ฐ ํด๊ฒฐ๋ ๊ฒ๋๋ค. platform :ios, '10.0' 2021. 11. 12. [iOS Error] UICollectionView ReusableView ์๋ฌ ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋ ๋ง๋ ์๋ฌ๋ ๋ฐ๋ก ์์ ๊ฐ์ด 'NSInternalInconsistencyException' ์ค๋ฅ ์์ต๋๋ค. ์ด๊ฒ ๋ฌด์จ ๋ง์ด๋๋ฉด ์ปฌ๋ ์ ๋ทฐ์์ ReusableView๋ฅผ ์ฌ์ฉํ๋๋ฐ dequeReusableCell๋ก ๋ณดํต๊ณผ ๊ฐ์ด ์ธํ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์๋์ ๊ฐ์ด ์ปฌ๋ ์ ๋ทฐ ํค๋์ ํธํฐ๋ฅผ ReusableView๋ก ๋ง๋ค์ด์ ์ธํ ํ๋๋ฐ์. ์๋์ ๊ฐ์ด dequeํ๋ ๋ถ๋ถ์ด ์ผ๋ฐ ์ ๊ณผ ๊ฐ์ด dequeReusableCell๋ก ๋์ด์์ต๋๋ค. func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -.. 2021. 11. 10. [SwiftUI] @State๋? ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์์ฆ SwiftUI ๊ณต๋ถ๋ฅผ ํ๊ณ ์๋๋ฐ @State๊ฐ ๋ง์ด ์ฐ์ด๊ธด ํ๋๋ฐ ๋ญ์ง ์ ํํ๋ ๋ชจ๋ฅด๊ฒ ๋๋ผ๊ตฌ์. ๊ทธ๋์ @State์ ๋ํด์ ์ ํํ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค! ๋ฐ๋ก ์์ํ ๊ฒ์~ @State ๋? ์ ํ ๊ณต์ ๋ฌธ์์๋ ์๋์ ๊ฐ์ด ์ค๋ช ํฉ๋๋ค. ํด์ํด๋ณด๋ฉด SwiftUI์์ ๊ด๋ฆฌํ๋ ๊ฐ์ ์ฝ๊ณ ์ธ ๋ ์ฌ์ฉํ๋ ๊ฒ์ด๋ผ๊ณ ํ๋ค์. ๊ฐ์๋ฅผ ์ดํด๋ณด๋ฉด ์๋์ ๊ฐ์ต๋๋ค. 1. ์ํ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด View๋ฅผ ๋ค์ ๊ณ์ฐํ๊ณ ์ ๋ฐ์ดํธ ํฉ๋๋ค. 2. ์ธ์คํด์ค ๊ฐ์ด ์๋๋ผ ๊ฐ์ ์ฝ๊ณ ์ฐ๋ ์๋จ์ ๋๋ค. 3. ์ฃผ์ํ ์ ์ ๋ทฐ์ ๋ฐ๋ ์์์ ๋๋ ๋ทฐ์์ ํธ์ถํ ๋ฉ์๋์์๋ง ์ ๊ทผํด์ผ ํ๋ฏ๋ก ๋ทฐ์ ํด๋ผ์ด์ธํธ๊ฐ ์ ๊ทผํ์ง ๋ชปํ๋๋กprivate๋ก ์ ์ธํด์ผ ํฉ๋๋ค. 4. ์ฌ์ฉํ ๋๋ $์ ํจ๊ป ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ๊ตฌ.. 2021. 11. 7. [Swift] ํ๋ก๊ทธ๋๋จธ์ค ์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง1 ์คํ ์์ด Problem ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์คํ ์์ด programmers.co.kr Solution 1. a์ ์๋ ์ซ์๋ค์ ๊ฐฏ์๋ฅผ ์ธ์ค๋ค. ์ซ์๋ค์ ๊ฐฏ์๋ฅผ ์ธ์ฃผ๋ ์ด์ ๋ ๊ฐฏ์๊ฐ ๋ง์ ์ซ์๋ก ์ ๋ ฌํ์ฌ ์๊ฐ ์ด๊ณผ๋ฅผ ๋ง๊ธฐ ์ํด์ ์ ๋๋ค. func countNumbers(a:[Int]) -> [Int:Int] { var countDic:[Int:Int] = [:] for n in a { if countDic[n] == nil { countDic[n] = 1 }else { countDic[n]! += 1 } } return countDic } 2. ๊ฐ ์ซ์๋ค์ ๊ฐ์ฅ ๊ธด ๋ถ๋ถ ์์ด ๊ธธ์ด๋ฅผ ๊ตฌํด์ค๋ค. ๊ฐ๋จํ๊ฒ ์ค๋ช ํ๋ฉด ๊ฐ ์ซ์๋ค์ ์ ๋ค๋ฅผ ๋น๊ตํด์ค๋๋ค. ๋ง์ฝ ์๊ณผ ๋ค ์ค ํ๋๋ผ๋ ํ์ฌ ์ซ์์ ๊ฐ์ง ์์ ์ซ์๊ฐ ์๋ค๋ฉด +2.. 2021. 11. 6. [iOS/UI] ์ด๋ฏธ์ง ์ค์ผ๋ก ํ๋/์ถ์ํ๊ธฐ(feat. ์คํฌ๋กค๋ทฐ) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋ ์์๋ณผ ๊ฒ์ ์ด๋ฏธ์ง๋ฅผ ํ๋ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ Storyboard ๋ ์ด์์์ ์๋์ ๊ฐ์ด ์คํฌ๋กค๋ทฐ์ ์ด๋ฏธ์ง๋ทฐ๊ฐ ํฌํจ๋๊ฒ ํด์ฃผ์ธ์. ViewController ๋จผ์ ์ด๋ฏธ์ง๋ทฐ์ ์คํฌ๋กค๋ทฐ๋ฅผ ์ฐ๊ฒฐํด์ฃผ์ธ์. @IBOutlet weak var imageView: UIImageView! @IBOutlet weak var scrollView: UIScrollView! ์ด๊ธฐ ์ธํ ์ ์๋์ ๊ฐ์ด ํด์ฃผ์ธ์. 1. ์ด๋ฏธ์ง๋ทฐ์ ์ด๋ฏธ์ง๋ฅผ ์ํ๋ ๊ฒ์ผ๋ก ์ธํ ํด์ค๋๋ค. 2. ์คํฌ๋กค๋ทฐ์ ๋๋ฆฌ๊ฒ์ดํธ๋ฅผ ํ์ฌ ๋ทฐ์ปจํธ๋กค๋ฌ๋ก ์ค์ ํด์ฃผ์ธ์. (์์ง ์ค๋ฅ๊ฐ ๋ ๊ฑฐ์์.) 3. ์คํฌ๋กค๋ทฐ์ ์ฒ์ ์ค์ค์ผ์ผ์ ์ ํด์ค๋๋ค. (๋ฐ๋ก ์ค์ ํ์ง ์์ผ๋ฉด 1.0์ ๋๋ค.) 4. ์คํฌ๋กค๋ทฐ์ ์ต์ ์ค์ค์ผ์ผ์ ์ ํด์ค๋๋ค... 2021. 11. 3. [iOS Error] The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ ์ ๋ชฉ๊ณผ ๊ฐ์ด ํ์ ์ถ๋ก ์๋ฌ๋ฅผ ๋ง๋๊ฒ ๋์๋๋ฐ์. "The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions " ์๋ ๊ทผ๋ฐ... ๋ถ๋ช ์ ์๋ ์๋๋๋ฐ ์ ์ด๋ฐ ์ค๋ฅ๊ฐ ๋จ์ง...? ํ๊ณ ๊ตฌ๊ธ๋งํด์ ์ฐพ์๋ณด์๋๋ Xcode 12 Beta์์ ์๊ธฐ๋ ์ค๋ฅ๋ผ๊ณ ํ๋ค์... ํด์์ ํด๋ณด๋ฉด ์๋์ ๊ฐ์ต๋๋ค. "์ปดํ์ผ๋ฌ์์ ํด์ํ๊ธฐ์ ๋ ์ฝ๋๊ฐ ๋๋ฌด ๋ณต์กํด..ใ ์ข๋ง ์ชผ๊ฐ์ ์จ์ค..." ์ ์๋ ์ฝ๋๊ฐ ์ด์ ๊ฐ์ด ๋์ด์์์ด์.. (์ filterํด๋๊ณ ... map์ ๋ ์ผ์ง...) filter์ ๋๊ฐ์.. 2021. 11. 2. [Git Error] .git:not authorized ํด๊ฒฐ๋ฒ ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋์ ํ์ผ์ ์ ๋ฐ์ดํธํ๊ณ ํธ์ฌํ๋ ค๋๋ฐ ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋จ๋๋ผ๊ตฌ์. ".git: not authorized" ์ด ์ค๋ฅ๋ ๊นํ์์ ์์ด๋์ ํจ์ค์๋๋ก ๋ก๊ทธ์ธ์ ํ๋ ๋์ ํ ํฐ์ ์์ฑํด ๋ก๊ทธ์ธ์ ํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ๋์๊ธฐ ๋๋ฌธ์ธ๋ฐ์. ํด๊ฒฐ๋ฒ ๊นํ์์ Settings๋ก ๋ค์ด๊ฐ์ค๋๋ค. Developer settings๋ฅผ ๋๋ฌ์ฃผ์๊ณ Personal access tokens์์ Generate new token์ ๋๋ฌ์ฃผ์ธ์. ๋ฐ๋์ repo๋ฅผ ์ฒดํฌํ๊ณ ํ ํฐ์ generate ํด์ค๋๋ค. ์์ฑํ ํ ํฐ์ ๋น๋ฐ๋ฒํธ ๋์ ์จ์ฃผ์๋ฉด ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง ๊ฒ ์ ๋๋ค! 2021. 11. 1. [Oracle] ์ค๋ผํด SQLDeveloper์ Github ์ฐ๋ํ๊ธฐ(feat. MacOS) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ด๋ฒ์ ์ค๋ผํด์ ๊ณต๋ถํ๊ธฐ ์์ํ๋ฉด์ SQLDeveloper๋ฅผ ๋ค๋ฃจ๊ธฐ ์์ํด์ ์ด๊ฒ์ ๊นํ๊ณผ ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ฐ๋ก ์์ํ ๊ฒ์~ 1. ์๋ก์ด ๋ ํฌ์งํ ๋ฆฌ ๋ง๋ค๊ธฐ ๊นํ์ผ๋ก ์ด๋ํ์ ์ ์๋ก์ด ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด์ฃผ์ธ์! README ํ์ผ์ ๋ง๋ค์ง ์์ผ๋ฉด ๋ธ๋์น๊ฐ ์๊ธฐ์ง ์์ผ๋ ๊ผญ ๋ง๋ค์ด์ฃผ์ธ์! 2. SQLDeveloper์ ๋ณต์ SQLDeveloper ์คํ์ํค๊ณ ์๋จ์ ํ์ด๋ผ๊ณ ์๋๋ฐ ๊ฑฐ๊ธฐ์ Git์ ๋ค์ด๊ฐ์ ๋ณต์ ๋ฅผ ๋๋ฌ์ค๋๋ค. ๊ทธ๋ฌ๋ฉด ์๋์ ๊ฐ์ด ๋ฐ๊ฑฐ์์. ๋ค์์ ๋๋ฌ์ค๋๋ค. ์๋์ ๊ฐ์ด ์ ์ฅ์ URL๊ณผ ์ฌ์ฉ์ ์ด๋ฆ ๊ทธ๋ฆฌ๊ณ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์ด์ฃผ์ธ์. (์ฐธ๊ณ ๋ก ์ ์ฅ์ URL์ ๊นํ์ผ๋ก ์ด๋ํ์ ์ ์ด๋ก์ Code ๋ฒํผ์ ๋๋ฅด์๋ฉด ๋์ต๋๋ค.) ๋ธ๋์น๋ฅผ ์ฒดํฌํด์ฃผ์.. 2021. 11. 1. [Oracle Error] IO ์ค๋ฅ:์ ์ฒด ์ฝ๋ 17002 (feat. MacOS) ์๋ ํ์ธ์ Foma ๐ป ์ ๋๋ค! ์ค๋ ๋ง๋ ์๋ฌ๋ ์ค๋ผํด์์ ๊ณต๋ถ ์ข ํ๋ ค๊ณ ์ปจํ ์ด๋์ ์ ์์ ํ๋ ค๋๋ฐ ๊ฐ์๊ธฐ... ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋จ๋๋ผ๊ตฌ์. "์์ฒญํ ์์ ์ ์ํํ๋ ์ค ์ค๋ฅ ๋ฐ์: IO ์ค๋ฅ: The Network Adapter could not establish the connection (CONNECTION_ID=astYmpzWQJCSb5vwta73AQ==) ์ ์ฒด ์ฝ๋ 17002" ๊ทธ๋์ ์ด์ฌํ ๊ตฌ๊ธ๋ง ํด ๋ณธ ๊ฒฐ๊ณผ ๋ต์ ์ฐพ์๋ด์ ๊ณต์ ํ๋ ค๊ณ ํฉ๋๋ค! ๋จผ์ ์์ ๊ฐ์ ์ค๋ฅ๋ ์ปจํ ์ด๋๋ฅผ ์คํ์ํค์ง ์๊ณ SQLDeveloper์์ ๋ฌด์์ธ๊ฐ๋ฅผ ํ ๋ ์๊ธฐ๋ ์ค๋ฅ์ ๋๋ค. ์ปจํ ์ด๋ ์คํ์ํค๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํฉ๋๋ค. ํฐ๋ฏธ๋์ ์๋์ ๊ฐ์ด ์ ๋ ฅํ๋ฉด ๋ฉ๋๋ค. docker restart ์ปจํ ์ด๋ ์ด๋ฆ ๊ทธ๋ฐ๋ฐ ๋ ์.. 2021. 11. 1. ์ด์ 1 ยทยทยท 12 13 14 15 16 17 18 ยทยทยท 49 ๋ค์ 728x90 ๋ฐ์ํ