๋ชฉ๋กiOS [Swift] (55)

Focus On Develop ๐ŸคŸ๐ŸคŸ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์Šคํ‚ฌํŠธ๋ฆฌ

๋จผ์ € ์ƒ๊ฐํ•ด๋ณธ๊ฑด, skill์˜ ๊ฐ ์Šคํ‚ฌ ์‚ฌ์ด์‚ฌ์ด์— ์•„๋ฌด๊ฐ’์ด๋‚˜ ๋“ค์–ด๊ฐ€๋„ ์ƒ๊ด€์—†๋Š” ๋น„๊ต์ž๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๋‹ค. (%C%B%D%).. ์ด๋ ‡๊ฒŒ๋งŒ ๋น„๊ต์ž๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉด skill trees๋ฅผ ๋น„๊ตํ•ด๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™์€..? ๊ทธ๋Ÿฌ๋‚˜ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ๋ชจ๋ฆ„ ใ…‹ ๊ทธ๋ž˜์„œ ํƒํ•œ ๋ฐฉ๋ฒ•์€.. skill trees๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ณด๋ฉด์„œ.. ์ •ํ•ด์ง„ ์„ ํ–‰ skill์„ ๋ฐฐ์šฐ๊ณ  ํ•˜๋Š”๊ฑฐ๋ƒ? ํ•˜๊ณ  ๋ฌผ์–ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. (๋จผ์ € ์„ ํ–‰์Šคํ‚ฌ์— ํฌํ•จ๋œ ์Šคํ‚ฌ์ธ์ง€? ๋‹ค์Œ์€ ์•ž์— ์„ ํ–‰์Šคํ‚ฌ์€ ๋‹ค ๋ฐฐ์› ๋Š”์ง€?) ๋งŒ์•ฝ ์„ ํ–‰์Šคํ‚ฌ๊ณผ ์ƒ๊ด€์—†๋Š” ์Šคํ‚ฌ์ด๋ผ๋ฉด ํ•™์Šต ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•˜๊ณ  pass ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. import Foundation func solution(_ skill:String, _ skill_trees:[String]) -> Int { var res ..

[Swift] Core Data(2) ์‹ค์Šตํ•ด๋ณด๊ธฐ

Core Data ๊ฐœ๋… ๋จผ์ € ์•Œ์•„๋ณด๊ณ  ์˜ค๊ธฐ!! ๐Ÿ‘‰ 2020/12/21 - [iOS [Swift]/๊ธฐ์ดˆ๋ฅผ ํƒ„ํƒ„ํžˆ!] - [Swift] Core Data(1) ๊ฐœ๋…์ •๋ฆฌ STEP 1. Core Data, Core Data Model ๋งŒ๋“ค๊ธฐ ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ๋ผ๋ฉด ์ƒ์„ฑ์‹œ Use Core Data๋ฅผ ์„ ํƒํ•ด์ค์‹œ๋‹ค. ๋งŒ์•ฝ ๊ธฐ์กด ํ”„๋กœ์ ํŠธ์— Core Data๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, Core Data ํ•˜์œ„์˜ Data Model ํŒŒ์ผ์„ ์„ ํƒํ•ด์„œ ์ƒ์„ฑํ•ด์ฃผ๋ฉด ๋˜์š”. ๊ทธ๋Ÿผ ์ขŒ์ธก์— ํŒŒ์ผ ๋ชฉ๋ก์„ ๋ณด๋ฉด ์ด๋ ‡๊ฒŒ .xcdatamodeld ํŒŒ์ผ์ด ์ƒ์„ฑ๋˜์—ˆ์„ ๊ฑฐ์—์š”. ์ด์ œ ์—ฌ๊ธฐ์„œ ๋ชจ๋ธ์„ ์ƒ์„ฑํ•ด์ฃผ๋ฉด ๋˜์š” ใ…Žใ…Ž ์ขŒ์ธก ํ•˜๋‹จ์— Add Entity๋ฅผ ํ†ตํ•ด Entity๋ฅผ ์ƒ์„ฑํ•˜๊ณ  (Database์—์„œ ํ…Œ์ด๋ธ” ์ด๋ผ๊ณ  ๋น„์œ ํ•ด์„œ ์ƒ๊ฐํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Œ) Add At..

[Swift] Core Data(1) ๊ฐœ๋…์ •๋ฆฌ

iOS, Swift ๋ฅผ ์‹œ์ž‘ํ–ˆ์œผ๋‹ˆ ์•„๋ฌด๋ฆฌ ๊ฐ„๋‹จํ•œ ์•ฑ์ด๋ผ๋„ ๋‚ด ์•ฑ์€ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ ์ถœ์‹œํ•ด๋ด์•ผ๊ฒ ๋‹ค! ๋ผ๋Š” ๋งˆ์Œ์œผ๋กœ ์‹œ์ž‘ํ–ˆ์œผ๋‚˜.. ์‹œ์ž‘๋ถ€ํ„ฐ ์˜ค์ž‰?? ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋Š” ์–ด๋–ป๊ฒŒ ์–ด๋””์— ์ €์žฅํ•˜์ง€..!? (์—…๋ฌดํ• ๋•Œ๋Š” ๊ทธ๋ƒฅ B/E์—์„œ DB๊ตฌ์„ฑํ•˜๊ณ  API๋งŒ ํ˜ธ์ถœํ•ด์ฃผ๋ฉด ๋˜์—ˆ์œผ๋‹ˆ ์•Œ ๋ฆฌ๊ฐ€ ์žˆ๋‚˜ ๐Ÿ˜ญ) Data๋ฅผ ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์ €์žฅํ• ๋•Œ๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ, (FileManager, CoreData, SQLite ๋“ฑ) ๋‚˜๋Š” Apple์—์„œ ์ œ๊ณต๋˜๋Š” Framework์ธ Core Data๋ฅผ ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ทธ๋งŒํผ Apple์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค๋ฅธ Library, App๊ณผ์˜ ํ˜ธํ™˜์„ฑ๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ณด์žฅ๋ ํ„ฐ๋ผ.. ใ…‹ใ…‹ ์•”ํŠผ ์ฒ˜์Œ ๊ณต๋ถ€ํ•ด๋ณด๋ฉด์„œ ์ด๋ ‡๊ฒŒ ์ •๋ฆฌํ•˜๋Š” ๊ฑด ์ง€๊ทนํžˆ ์™•์™•์™•์ดˆ๋ณด๐Ÿ’๋ฅผ ์œ„ํ•œ ๊ฒƒ์ด๊ณ .. ๋‚ด ์œ„์ฃผ๋กœ, ๋‚ด ์–ธ์–ด๋กœ ์ •๋ฆฌ๋ฅผ ํ•˜๊ฒŒ ๋  ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์˜ˆ์‚ฐ

์Œ.. ๋ณดํ†ต ์ด๋ ‡๊ฒŒ ์ƒ๊ธด ๋ฌธ์ œ๋Š” DP(Dynamic Programming) ์ด์—ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ.. ๐Ÿ˜ญ (์ž˜ ๊ธฐ์–ต์ด..) ์•”ํŠผ ์–ด๋ ค์šด DP.. ํ•„์š” ์˜ˆ์‚ฐ์ด ์ ์€ ๋ถ€์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ง€์›๊ธˆ์„ ์ฃผ๊ฒŒ ๋˜๋ฉด ์ œ์ผ ๋งŽ์€ ๋ถ€์„œ์˜ '์ˆ˜'๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์€ ์ƒ์‹์ ์ธ ๋…ผ๋ฆฌ์ธ๋ฐ.. ๊ทธ๋ ‡๊ฒŒ ํ–ˆ์„๋•Œ ์˜ˆ์™ธ ์ผ€์ด์Šค๊ฐ€ ์žˆ์„์ง€ ํ•œ์ฐธ์„ ๊ณ ๋ฏผํ•œ ๊ฒƒ ๊ฐ™๋‹ค. (๊ทธ๋Ÿผ DPํ–‰....๐Ÿ˜” ๐Ÿ˜”) ๊ทผ๋ฐ ๋”ฑํžˆ ์˜ˆ์™ธ์ผ€์ด์Šค๊ฐ€ ์ƒ๊ฐ์ด ์•ˆ๋‚˜์„œ..? ์ผ๋‹จ ์ •๋ ฌํ•ด์„œ ์˜ˆ์‚ฐ์ด ์ ์€ ์ˆœ์„œ๋Œ€๋กœ ํ•œ๋ฒˆ ์ง€์›ํ•ด๋ณด๊ธฐ๋กœ ํ•˜๊ณ , ์˜ˆ์‚ฐ์„ ๋‹ค์“ฐ๋ฉด ๋’ท ๋ถ€์„œ๋Š” ๋ณด์ง€๋„ ์•Š๋Š”๊ฑธ๋กœ.. ํ’€๋Ÿฌ ๊ณ ๊ณ ์‹ฑ ใ…‹ใ…‹ import Foundation func solution(_ d:[Int], _ budget:Int) -> Int { let array = d.sorted() var result = 0 var curB..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์‹œ์ € ์•”ํ˜ธ

์ผ๋‹จ ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋Š” ASCII์ฝ”๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ, s๋ฅผ ๋Œ€/์†Œ๋ฌธ์ž ๋ฒ”์œ„์— ๋”ฐ๋ผ ์ฒดํฌํ•˜๋Š” ๊ฒƒ๋„ ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•์ผ ๋“ฏ ํ•œ๋ฐ.. (๋‚˜๋Š” ASCII์ฝ”๋“œ๋ฅผ ์‚ฌ์‹ค ์ž˜ ๋ชจ๋ฆ„ ใ…‹) ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋Š” ์–ด์ฐจํ”ผ ์•Œ๊ณ  ์žˆ๋Š” ๊ฑฐ๋‹ˆ๊นŒ ์ฐจ๋ผ๋ฆฌ ์•ŒํŒŒ๋ฒณ์„ ๋ฏธ๋ฆฌ ์ •์˜ํ•ด๋†“๊ณ , s์˜ ๋ฌธ์ž๋“ค์„ ์ฒดํฌํ•˜๋ฉด์„œ ์ •์˜ํ•ด๋‘” ์•ŒํŒŒ๋ฒณ ๋ฌธ์ž์—์„œ n๋งŒํผ ๋’ค์— ์žˆ๋Š” ๋ฌธ์ž๋กœ ๋Œ€์ฒดํ•˜๋Š” ๊ฑธ๋กœ ํ’€์–ด์•ผ๊ฒ ๋‹ค. z๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด Out of Index๋‹ˆ๊นŒ.. ์›ํ˜•๋ฐฐ์—ด์ฒ˜๋Ÿผ % ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์„œ Index๋ฅผ ์ฐพ์•„์•ผ๊ฒ ๋‹ค. let alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" let lowerAlpha = alpha.lowercased() let arrayAlpha = Array(alpha) let arrayLowerAlpha = Array(lowerAlpha) f..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฌธ์ž์—ด ๋‚ด p์™€ y์˜ ๊ฐœ์ˆ˜

๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์—†์ด p์™€ y๋ฅผ ์ฐพ์•„์•ผ ํ•˜๋ฏ€๋กœ, s๋ฅผ ์†Œ๋ฌธ์ž๋‚˜ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€๊ฒฝํ•œ ํ›„์— ์นด์šดํŠธ๋ฅผ ํ•˜๋ฉด ๋˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ๋‹ค! func solution(_ s:String) -> Bool { let string = s.lowercased() let pCnt = string.filter { $0 == "p" }.count let yCnt = string.filter { $0 == "y" }.count return pCnt == yCnt } ์‚ฌ์‹ค ๋‚˜๋Š” ํ•œ์ค„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋„ ์ด๋ ‡๊ฒŒ ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜ ํ•˜๋‚˜ ์ƒ์„ฑํ•˜๋Š”๋ฐ ์ต์ˆ™ํ•ด์ ธ์žˆ๋‹ค.(์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ์„ฑ์ด ์—†๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๊ณ ๋ คํ–ˆ์„๋•Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ƒ์—์„œ ๋ณ€์ˆ˜ ์„ ์–ธ์€ ์ตœ์†Œ๋กœ ํ•˜๋Š”๊ฒŒ ์ข‹๊ธด ํ•˜๊ฒ ๋‹ค.) ์—…๋ฌด๋ฅผ ํ•˜๋‹ค๊ฐ€ ์Šต๊ด€์ด ๋˜๋ฒ„๋ฆฐ.. ๐Ÿ˜ญ ๐Ÿ˜ญ ์•„๋ฌดํŠผ ์ด๋ ‡๊ฒŒ ํ’€๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ๋ดค๋Š”๋ฐ, S..

Prev 1 2 3 4 5 6 7 Next