๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•
[RIBs] Router๋ฅผ ์ด์šฉํ•ด ํ™”๋ฉด ์ „ํ™˜ํ•ด๋ณด๊ธฐ (feat. Memo) ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ RIBs ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™”๋ฉด ์ „ํ™˜ํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด Uber์˜ ํŠœํ† ๋ฆฌ์–ผ์„ ๋”ฐ๋ผํ•˜๋ ค๊ณ  ํ–ˆ์œผ๋‚˜... ์ €๋Š” ์ž˜์•ˆ๋˜๋”๋ผ๊ตฌ์š”... ๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ ์ข‹์€ ํŠœํ† ๋ฆฌ์–ผ์ด ์—†์„๊นŒ? ํ•˜๊ณ  ์—ด์‹ฌํžˆ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ SimpleMemo๋ฅผ RIBs๋กœ ๊ตฌํ˜„ํ•œ ํŠœํ† ๋ฆฌ์–ผ ์ฐพ๊ฒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. GitHub - eunjin3786/SimpleMemo-RIBs: SimpleMemo๋ฅผ RIBs๋กœ ๋ฐ”๊ฟ”๋ณด์ž :-) SimpleMemo๋ฅผ RIBs๋กœ ๋ฐ”๊ฟ”๋ณด์ž :-). Contribute to eunjin3786/SimpleMemo-RIBs development by creating an account on GitHub. github.com ์ „ ํฌ์ŠคํŒ…์—์„œ RootRIB์—์„œ LoggedOutRIB์„.. 2021. 8. 24.
[Dart] Mixin์ด๋ž€? (feat. ์—ฌ๋Ÿฌ ํด๋ž˜์Šค ์ƒ์†๋ฐ›๊ธฐ) ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! Dart์— ๋Œ€ํ•œ ์ฒซ ๊ธ€์„ ์“ฐ๊ฒŒ ๋๋Š”๋ฐ์š”. ์˜ค๋Š˜์€ Dart์—์„œ ์—ฌ๋Ÿฌ ํด๋ž˜์Šค์˜ ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Mixin์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Mixin์ด๋ž€? ๊ณต์‹ ๋ฌธ์„œ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜์™€์žˆ์Šต๋‹ˆ๋‹ค. "Mixin์€ ์—ฌ๋Ÿฌ ํด๋ž˜์Šค ๊ณ„์ธต์—์„œ ํด๋ž˜์Šค ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค." ๋ง๋ถ™์—ฌ Mixin์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  with ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์ด๋ฆ„์„ ์ ์–ด์ฃผ๋ฉด ๋œ๋‹ค๊ณ  ๋‚˜์™€์žˆ์Šต๋‹ˆ๋‹ค. Example ์•„๋ž˜์™€ ๊ฐ™์ด ํด๋ž˜์Šค๋“ค์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ• ๊ฒŒ์š”. ๋ณดํ†ต ์•„๋ž˜์™€ ๊ฐ™์ด Player ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์•„๋ž˜ ํ•˜์œ„ ํด๋ž˜์Šค๋Š” ์ƒ์œ„ ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์•„์„œ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. class Player { void play() { print("๊ฒฝ๊ธฐํ•˜๋Š” ์ค‘..."); } } class BasketBallPl.. 2021. 8. 21.
[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์œ„ํด๋ฆฌ ์ฑŒ๋ฆฐ์ง€ 3์ฃผ์ฐจ ํผ์ฆ ์กฐ๊ฐ ์ฑ„์šฐ๊ธฐ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 3์ฃผ์ฐจ [[1,1,0,0,1,0],[0,0,1,0,1,0],[0,1,1,0,0,1],[1,1,0,1,1,1],[1,0,0,0,1,0],[0,1,1,1,0,0]] [[1,0,0,1,1,0],[1,0,1,0,1,0],[0,1,1,0,1,1],[0,0,1,0,0,0],[1,1,0,1,1,0],[0,1,0,0,0,0]] 14 [[0,0,0],[1,1,0],[1,1,1]] [[1,1,1],[1,0,0],[0,0,0]] 0 programmers.co.kr Solution 1. ๊ฒŒ์ž„๋ณด๋“œ์™€ ํ…Œ์ด๋ธ”์˜ ํผ์ฆ ์กฐ๊ฐ๋“ค์„ ์ฐพ๋Š”๋‹ค. ๊ฒŒ์ž„๋ณด๋“œ์™€ ํ…Œ์ด๋ธ”์˜ ํผ์ฆ ์กฐ๊ฐ๋“ค์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„  BFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์•ผ ๋ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ž„๋ณด๋“œ๋ฅผ ํƒ์ƒ‰ํ•  ๋• ๋งŒ์•ฝ 0์„ ๋งŒ๋‚˜๊ฒŒ ๋˜์—ˆ๋‹ค๋ฉด ๊ทธ ์ฃผ๋ณ€ ์™ผ์ชฝ,์˜ค๋ฅธ์ชฝ,์œ„,์•„๋ž˜๊ฐ€ 0.. 2021. 8. 20.
[RIBs] Interactor๋กœ ๋น„๋‹ˆ์ง€์Šค ๋กœ์ง ์ฒ˜๋ฆฌํ•ด๋ณด๊ธฐ (feat. ์ดˆ๊ธฐ์„ธํŒ…) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์ €๋ฒˆ ๊ธ€์—์„œ RIBs ์— ๋Œ€ํ•œ ์ด๋ก ์„ ๋‹ค๋ค˜๋Š”๋ฐ์š”. (ํ˜น์‹œ ์•ˆ๋ณด์‹  ๋ถ„๋“ค์€ ์—ฌ๊ธฐ ์—์„œ ๋ณด๊ณ  ์™€์ฃผ์„ธ์š”~) ์˜ค๋Š˜์€ Uber์—์„œ ์ง์ ‘ ์ œ๊ณตํ•˜๋Š” ํŠœํ† ๋ฆฌ์–ผ์„ ํ•œ๋ฒˆ ๋”ฐ๋ผํ•ด๋ณด๋ฉด์„œ ๊ตฌํ˜„ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๊ฐ€์žฅ ๋จผ์ € RIBs ํŠœํ† ๋ฆฌ์–ผ์„ ๋”ฐ๋ผํ•  ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ด์ค˜์•ผ๊ฒ ์ฃ ? ์ €๋Š” RIBs Example๋กœ ์ด๋ฆ„ ์ง“๊ฒ ์Šต๋‹ˆ๋‹ค. Pod init & install ์ €๋Š” CocoaPod์„ ์ด์šฉํ•ด์„œ RIBs๋ฅผ ์„ค์น˜ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์—์„œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•ด pod init์„ ํ•ด์ฃผ์‹œ๋ฉด pod file์ด ์ƒ๊ธธ๊ฑฐ์—์š”. ํŒŸํŒŒ์ผ์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. (๋ฒ„์ „์€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์œผ๋‹ˆ ๊ณต์‹ ๊นƒํ—™์—์„œ ํ™•์ธํ•ด์ฃผ์„ธ์š”!) pod 'RIBs', '~> 0.9' ์ถ”๊ฐ€ํ•œ ๋‹ค์Œ pod ins.. 2021. 8. 18.
[Design Pattern] RIBs๋ž€?(feat. Uber) ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ Uber์—์„œ ๋งŒ๋“  ํ”„๋ ˆ์ž„์›Œํฌ์ธ RIBs์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. iOS๊ณ„์—์„œ ์•„์ฃผ ๊ณ ์ˆ˜์ด์‹  '๋ฏผ์†Œ๋„ค'๋‹˜๋„ ์—ฌ๋Ÿฌ ๋””์ž์ธ ํŒจํ„ด์„ ๊ฑฐ์ณ์„œ RIBs์— ์ •์ฐฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค๊ณ  ํ•˜๊ณ  ๋˜ ๋งŽ์€ ํšŒ์‚ฌ์—์„œ RIBs ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋”๋ผ๊ตฌ์š”. ๊ทธ๋ž˜์„œ ์–ด๋–ค ์ ์ด ์žฅ์ ์ด๊ณ  ๋˜ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ๋‹ค๋ค„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ RIBs๋ž€? ๊ณต์‹ ๊นƒํ—™์—์„  ์ด๋ ‡๊ฒŒ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. RIBs๋Š” Uber์˜ ๋ชจ๋ฐ”์ผ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์•„ํ‚คํ…์ฒ˜ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. RIB์ด๋ผ๋Š” ์ด๋ฆ„์€ ์ด ์•„ํ‚คํ…์ฒ˜์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ์ธ Router, Interactor ๋ฐ Builder์˜ ์•ฝ์–ด์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋งŽ์€ ์ˆ˜์˜ ์—”์ง€๋‹ˆ์–ด์™€ ์ค‘์ฒฉ ์ƒํƒœ๊ฐ€ ์žˆ๋Š” ๋ชจ๋ฐ”์ผ ์•ฑ์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ณต RIBs ์•„ํ‚ค.. 2021. 8. 18.
[iOS] Code Snippet ์‚ฌ์šฉํ•ด๋ณด๊ธฐ(feat. ์ฝ”๋“œ ์ž๋™์™„์„ฑ) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ Xcode์—์„œ ์›ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋‹จ์ถ•์–ด๋งŒ ์ž…๋ ฅํ•˜๋ฉด ์ž๋™์œผ๋กœ ์™„์„ฑํ•ด์ฃผ๋Š” Code snippet์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Code Snippet์ด๋ž€? ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์€ ์ž์ฃผ ์“ฐ๋Š” ์ฝ”๋“œ๋“ค์„ ๋ฏธ๋ฆฌ ์ž‘์„ฑํ•ด๋‘๊ณ  ๋‹จ์ถ•์–ด๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์™„์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์•„์ฃผ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ํ‰์†Œ์— guard๋ฌธ์ด๋‚˜,switch๋ฌธ์„ ์ž…๋ ฅํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋œจ๋Š”๊ฑธ ๋งŽ์ด ๋ณด์…จ์„๊ฑฐ์—์š”. Guard Statement,Switch Statement๋ฅผ ์—”ํ„ฐ๋ฅผ ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ž๋™์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ์ž…๋ ฅ๋˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์ž…๋‹ˆ๋‹ค. Code Snippet ์‚ฌ์šฉํ•ด๋ณด๊ธฐ ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์ด ๋งŽ์ง€๋งŒ ์ž์ฃผ ์“ฐ๋Š” ์ฝ”๋“œ๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด์ž–์•„์š”? ์ด์ œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ์ปค์Šคํ…€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ.. 2021. 8. 17.
[Git] ์—ฌ๋Ÿฌ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ(Merge multiple repository) ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์—ฌ๋Ÿฌ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ๊ฑด๋ฐ์š”. ์˜ˆ์ „์— ํ”Œ๋Ÿฌํ„ฐ ๊ณต๋ถ€ํ•˜๋˜ ๊ฐ„๋‹จํ•œ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ๋“ค์ด ๋งŽ์ด ์Œ“์—ฌ์„œ ์ด๊ฑธ ํ•˜๋‚˜์˜ Flutter Example์ด๋ผ๋Š” ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ํ•ฉ์น˜๊ณ  ์‹ถ๋”๋ผ๊ตฌ์š”. ๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ ์ด๋ ‡๊ฒŒ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Github ๋จผ์ € Github ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”. GitHub: Where the world builds software GitHub is where over 65 million developers shape the future of software, together. Contribute to the open source community, manage your Git repo.. 2021. 8. 14.
[Git Error ํ•ด๊ฒฐ๋ฒ• ํฌํ•จ] remote: support for password authentication was removed on august 13, 2021. please use a personal access token instead. ์•ˆ๋…•ํ•˜์„ธ์š” Foma ๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜ ๋งŒ๋‚œ ์—๋Ÿฌ๋Š” ์—ฌ๋Ÿฌ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๋Š” ๊ณผ์ •์—์„œ ์ƒ๊ธด ์—๋Ÿฌ์˜€๋Š”๋ฐ์š”. ์ƒˆ๋กญ๊ฒŒ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  git push๋ฅผ ํ•˜๋ ค๊ณ  ํ–ˆ๋”๋‹ˆ ์ƒˆ๋กœ์šด ์•ก์„ธ์Šค ํ† ํฐ์„ ๋ฐ›์œผ๋ผ๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋œจ๋”๋ผ๊ตฌ์š”. ๊ทธ๋ž˜์„œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ•˜๋ ค๊ณ  ๊ธ€์„ ์“ฐ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Github ๊นƒํ—™์œผ๋กœ ์ด๋™ํ•ด์ค๋‹ˆ๋‹ค. GitHub: Where the world builds software GitHub is where over 65 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pr.. 2021. 8. 14.
[Swift] 2020 KAKAO BLIND RECRUITMENT ๊ธฐ๋‘ฅ๊ณผ ๋ณด ์„ค์น˜ํ•˜๊ธฐ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ธฐ๋‘ฅ๊ณผ ๋ณด ์„ค์น˜ 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr Solution 1. ๊ธฐ๋‘ฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ ์ ํ•ฉํ•œ์ง€ ํ™•์ธํ•œ๋‹ค. ๋ฐ”๋‹ฅ,๊ธฐ๋‘ฅ ์œ„,๋ณด์˜ ์œ„์ผ ๊ฒฝ์šฐ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. func checkRightPillars(x:Int,y:In.. 2021. 8. 13.
[Data Structure] ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž(Linked List) ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•˜๋Š”๋ฐ์š”. ์–ผ๋งˆ ์ „์— 2021 ์นด์นด์˜ค ์ธํ„ด์‰ฝ์— ์ถœ์ œ๋˜์—ˆ๋˜ "ํ‘œํŽธ์ง‘" ์ด๋ผ๋Š” ๋ฌธ์ œ๋ฅผ ํ’€๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ผญ ์‚ฌ์šฉํ•ด์•ผ ํšจ์œจ์„ฑ์„ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ ๋™์•ˆ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด๋ณผ ์ผ์ด ๊ฑฐ์˜ ์—†์–ด์„œ ๊ตฌ์ฒด์ ์œผ๋กœ ์•Œ์•„๋ณธ ์ ์ด ์—†์—ˆ๋Š”๋ฐ ์ด๋ฒˆ ๊ธฐํšŒ์— ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์žฅ์ ๊ณผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ• ๊ฒŒ์š”~ Linked List๋ž€? "์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ, ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ(linked list)๋Š” ๊ฐ ๋…ธ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ํ•œ ์ค„๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ์ด๋‹ค. ์ด๋ฆ„์—์„œ ๋งํ•˜๋“ฏ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋…ธ๋“œ๋“ค์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”๋ฐ, ๋…ธ๋“œ์˜ ํฌ์ธํ„ฐ๊ฐ€ ๋‹ค์Œ์ด๋‚˜ ์ด์ „์˜ ๋…ธ๋“œ์™€์˜ ์—ฐ๊ฒฐ์„.. 2021. 8. 11.
[Design Pattern] MVP ํŒจํ„ด์ด๋ž€? ์•ˆ๋…•ํ•˜์„ธ์š” Foma๐Ÿ‘Ÿ ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ Model - View - Presenter๋กœ ์ด๋ค„์ ธ์žˆ๋Š” M.V.P ๋””์ž์ธ ํŒจํ„ด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. MVP๋ž€? Model - View - Presenter ๋กœ ์ด๋ค„์ง„ ๋””์ž์ธ ํŒจํ„ด์ด๋ฉฐ MVC์—์„œ Controller๊ฐ€ ํ•˜๋Š” ์—ญํ• ์„ Presenter๊ฐ€ ํ•œ๋‹ค๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค. "๊ทธ๋Ÿฌ๋ฉด MVC ์“ฐ๋ฉด ๋˜์ง€ ์™œ MVP๋ฅผ ์จ?" MVC๋Š” Model๊ณผ View๊ฐ€ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด ์˜์กด๊ด€๊ณ„๋ฅผ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ MVP๋Š” Model๊ณผ View ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๊ณ  ์˜ค์ง Presenter๋ฅผ ํ†ตํ•ด์„œ ์ƒํƒœ๋‚˜ ๋ณ€ํ™”๋ฅผ ์•Œ๋ ค์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ View์™€ ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์ด ์™„์ „ํžˆ ๋ถ„๋ฆฌ๊ฐ€ ๋˜์–ด ํ…Œ์ŠคํŠธ๊ฐ€ ์šฉ์ดํ•ด์ง„๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ทฐ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋˜๋Š” ๊ณผ์ •์„.. 2021. 8. 11.
[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์œ„ํด๋ฆฌ ์ฑŒ๋ฆฐ์ง€ 2์ฃผ์ฐจ ์ƒํ˜ธ ํ‰๊ฐ€ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 2์ฃผ์ฐจ [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr Solution 1.scores์˜ ์ ์ˆ˜๋ฅผ ์„ธ๋กœ๋กœ ๋ฌถ์–ด์ค€๋‹ค. scores ์ค‘ i๋ฒˆ์งธ ํ•™์ƒ์˜ ์ ์ˆ˜๋“ค์€ i๋ฒˆ์งธ ์ด๋ฏ€๋กœ ์„ธ๋กœ๋กœ ๋ฌถ์–ด์„œ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. var selfScore = scores.map{$0[i]} 2. ์„ธ๋กœ๋กœ ๋ฌถ์€ ์ ์ˆ˜๋“ค ์ค‘ i๋ฒˆ์งธ(์ž๊ธฐ ์ž์‹ )๊ฐ€ ์ตœ๊ณ  ๋˜๋Š” ์ตœ์†Œ๋ผ๋ฉด maxOrMin์œผ๋กœ ์ €์žฅํ•˜๊ณ  ์‚ญ์ œํ•ด์ค๋‹ˆ๋‹ค. var maxOrMin = -1 if selfScore[i] == selfSc.. 2021. 8. 10.
728x90
๋ฐ˜์‘ํ˜•