๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•
[iOS]Cell ํƒญํ–ˆ์„ ๋•Œ Segue๋กœ ๋ฐ์ดํ„ฐ ๋ณด๋‚ด๋Š” ๋ฒ• (didSelect & Pass Data by Segue) ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์ œ๊ฐ€ ์‹ค์ˆ˜ํ•œ ๊ฒƒ์— ๋Œ€ํ•ด์„œ ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ  ํ•ด์š” ์Œ...๋Œ€์ถฉ ์„ค๋ช…ํ•˜๋ฉด ์ฝœ๋ ‰์…˜๋ทฐ๋ฅผ didSelectํ–ˆ์„ ๋•Œ segue๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ์ด๊ฒŒ ์…€์„ ํƒญํ•˜์ž๋งˆ์ž segue๊ฐ€ ์‹คํ–‰๋˜๋ฉด์„œ ์…€์— ์žˆ๋Š” ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋ฌด์Šจ ๋ง์ด๋ƒ๋ฉด... ์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ segue ์‹คํ–‰์„ ์ฝœ๋ ‰์…˜๋ทฐ ์…€์— ๋‹ฌ์•„๋†จ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๋„์ฐฉํ•˜๋Š” ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ์— bigCategory๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ prepare์—์„œ ์ค€๋น„ํ•œ ๋‹ค์Œ ๋ณด๋‚ด๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด bigCategory๋Š” didSelectItem์‹œ ํ•ด๋‹น ์…€์˜ ํ…์ŠคํŠธ์˜ ๊ฐ’์œผ๋กœ ๊ฒฐ์ •๋˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๋กœ ์ด๋ฏธ segue๊ฐ€ ์‹คํ–‰๋˜๊ณ  ๋‚˜์„œ ๊ฐ’์ด ๊ฒฐ์ •๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค... "๊ทธ๋ ‡๋‹ค๋ฉด performSegue๋ฅผ.. 2020. 11. 30.
[iOS ๋ฉด์ ‘์งˆ๋ฌธ] Retain Cycle์ด๋ž€?(1) - ๊ฐœ๋… ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค!! ์˜ค๋Š˜ ์•Œ์•„๋ณผ ๊ฑด ์ง€๋‚œ ์‹œ๊ฐ„ ARC์— ์ด์–ด์„œ Retain Cycle ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ด์š”! ํ˜น์‹œ ARC๋ฅผ ์•„์ง ์ž˜ ๋ชจ๋ฅด์‹œ๋Š” ๋ถ„๋“ค์€ ์—ฌ๊ธฐ ๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ๋จผ์ € ๋ณด๊ณ  ์˜ค์‹œ๋ฉด ์ข‹์„ ๊ฑฐ ๊ฐ™์•„์š”! ์ž ๊ทธ๋Ÿฌ๋ฉด ๋ฐ”๋กœ ์‹œ์ž‘ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! ์šฐ์„  Retain Cycle ์„ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด์„œ ์ฐธ์กฐํ•˜๋Š” ๊ฐ’์€ ๋ฉ”๋ชจ๋ฆฌ ์–ด๋–ค ๋ถ€๋ถ„์— ํ•ด๋‹น๋ ๊นŒ์š”? ๋ฐ”๋กœ "Heap" ์ด๋ผ๋Š” ์˜์—ญ์ด์—์š”. "Heap" ์ด๋ผ๋Š” ์˜์—ญ์— ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ €์žฅ๋˜๊ธฐ ์œ„ํ•ด์„  ํ•œ ๊ณต๊ฐ„์ด ํ•„์š”ํ•œ๋ฐ์š”. ๋ฐ”๋กœ ๊ทธ ๊ณต๊ฐ„์„ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๋Š” ๊ฒƒ์ด์—์š”! ์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ๋ง์ด์ฃ . ์ž ๊ทธ๋ ‡๋‹ค๋ฉด ๋ณธ๊ฒฉ์ ์œผ๋กœ Retain Cycle์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณผ๊นŒ์š”? ๋จผ์ € Retain์€ ์œ„ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์ €๋ ‡๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋Š” ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์—ˆ์„ ๋•Œ .. 2020. 11. 30.
2018 KAKAO BLIND RECRUITMENT[3์ฐจ] ๋ฐฉ๊ธˆ๊ทธ๊ณก Swift Source Code Solution ํ•ต์‹ฌ #์ด ๋“ค์–ด๊ฐ„ ๋ฌธ์ž๋ฅผ replaceOccurrences๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์ฒดํ•ด์ค„ ๊ฒƒ 23์‹œ์—์„œ 00์‹œ๋กœ ๋ณ€ํ•  ๋•Œ์— ์ž˜ ๋งž๊ฒŒ ํ•ด์ค„ ๊ฒƒ ํ”Œ๋ ˆ์ด๋œ ์‹œ๊ฐ„๋งŒํผ ๋ฉœ๋กœ๋””๋ฅผ ๋ฐ˜๋ณตํ•ด์ฃผ๊ณ  prefix๋ฅผ ์ด์šฉํ•ด ์ž˜๋ผ์ค„ ๊ฒƒ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [3์ฐจ] ๋ฐฉ๊ธˆ๊ทธ๊ณก ๋ฐฉ๊ธˆ๊ทธ๊ณก ๋ผ๋””์˜ค๋ฅผ ์ž์ฃผ ๋“ฃ๋Š” ๋„ค์˜ค๋Š” ๋ผ๋””์˜ค์—์„œ ๋ฐฉ๊ธˆ ๋‚˜์™”๋˜ ์Œ์•…์ด ๋ฌด์Šจ ์Œ์•…์ธ์ง€ ๊ถ๊ธˆํ•ด์งˆ ๋•Œ๊ฐ€ ๋งŽ๋‹ค. ๊ทธ๋Ÿด ๋•Œ ๋„ค์˜ค๋Š” ๋‹ค์Œ ํฌํ„ธ์˜ '๋ฐฉ๊ธˆ๊ทธ๊ณก' ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๊ณค ํ•œ๋‹ค. ๋ฐฉ๊ธˆ๊ทธ๊ณก์—์„œ๋Š” TV, programmers.co.kr 30๋ฒˆ ํ•˜๋‚˜๋งŒ ํ‹€๋ ธ๋˜ ํ’€์ด ์•„๋ž˜๋ฅผ ๋ณด๋ฉด replaceOccurrences๋ฅผ ๋ชฐ๋ž๋˜ ์ƒํƒœ์—์„œ ํ’€์—ˆ๋˜ ๊ฒƒ์ด๋‹ค. ์ด๊ฒƒ์€ ๊ฒฐ๊ตญ m์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๊ฐ€ #์ด ํฌํ•จ๋œ ๋ฌธ์ž์ธ์ง€ ์•„๋‹Œ์ง€๋งŒ ์•Œ๋ฉด ๋˜๋Š”๊ฑฐ ์•„๋‹ˆ์•ผ? ๋ผ๋Š” ์ƒ๊ฐ.. 2020. 11. 29.
[ํ•ด๊ฒฐ๋ฒ• ํฌํ•จ] duplicate symbols for architecture x86_64 ์•ˆ๋…•ํ•˜์„ธ์š” ์—๋Ÿฌ์ˆ˜์ง‘๊ฐ€ Foma ์ž…๋‹ˆ๋‹ค... ์˜ค๋Š˜๋ถ€ํ„ฐ๋Š” ์—๋Ÿฌ๋ฅผ ๋” ์ด์ƒ ๋„˜์–ด๊ฐ€์ง€์•Š๊ณ  ๋ชจ์•„๋ณด๋ ค๊ณ  ํ•ด์š”. ์˜ˆ์ „๋ถ€ํ„ฐ ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚˜๋ฉด ๋นจ๋ฆฌ ๊ณ ์น˜๊ธฐ์—๋งŒ ๊ธ‰๊ธ‰ํ•˜๊ณ  ๊ณ ์น˜๋ฉด ์•ˆ๋„ํ•˜๋ฉด์„œ ๋„˜์–ด๊ฐ”๋˜์ ์ด ์žˆ๋Š”๋ฐ์š”. ์˜ค๋Š˜์€ ์˜ˆ์ „์— ๋˜‘๊ฐ™์€ ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚ฌ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผํ• ์ง€ ๋ชฐ๋ผ ๋ช‡์‹œ๊ฐ„์„ ํ—ค๋งธ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ•ญ์ƒ ์—๋Ÿฌ๋ฅผ ์ˆ˜์ง‘ํ•ด์„œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊ธฐ๋กํ•ด๋†” ์–ด๋–ค ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚˜๋“  ์ซ„์ง€(?)์•Š๋Š” Foma๊ฐ€ ๋˜๋„๋ก ํ• ๊ฑฐ์—์š”. Error ์˜ค๋Š˜์˜ ์—๋Ÿฌ๋Š” ๋ฐ”๋กœ ์ œ๋ชฉ์—์„œ๋ณด์‹œ๋‹ค์‹œํ”ผ "duplicate symbols for architecture x86_64" ๋ผ๋Š” ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋ญ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด์„ํ•˜๋ฉด 117๊ฐœ ์‹ฌ๋ณผ์ด ๋ณต์ œ๋˜์–ด ์žˆ๋‹ค?? ์ด๊ฒŒ ๋ฌด์Šจ ์†Œ๋ฆฌ์ง€? ํ•˜๊ณ  ๋ฐ”๋กœ ๊ตฌ๊ธ€์— ๊ฒ€์ƒ‰ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ์—ญ์‹œ๋‚˜ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ฒช์—ˆ๋˜ ์—๋Ÿฌ์˜€์–ด์š”. (์Šคํƒ ์˜ค๋ฒ„ ํ”Œ๋กœ์šฐ ์ตœ๊ณ .. 2020. 11. 21.
[iOS ๋ฉด์ ‘์งˆ๋ฌธ] ARC(Auto Reference Counting)๋ž€? ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค!! ์ด๋ฒˆ ์‹œ๊ฐ„์— ์•Œ์•„๋ณผ๊ฑด ๋ฐ”๋กœ "ARC(Auto Reference Couting)" ๋ผ๋Š” ๊ฒƒ์ธ๋ฐ์š”. Memory ์ด ARC๊ธฐ๋ฒ•์€ ๋ฐ”๋กœ iOS์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ํ•ด์ฃผ๋Š” ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. "์™œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ๋˜๋Š”๋ฐ?" ๋งŒ์•ฝ ์“ธ๋ชจ์—†๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์ง€๋ฉด ์•ฑ์ด ๋Š๋ ค์ง€๊ณ  ์ ์ •๋Ÿ‰์„ ์ดˆ๊ณผํ•˜๋ฉด ๊ฒฐ๊ตญ ์•ฑ์ด ๊บผ์ ธ๋ฒ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์œ ์ €๋ฅผ ์ดํƒˆํ•˜๊ฒŒ ๋งŒ๋“ค์ˆ˜ ์žˆ๋Š” ์น˜๋ช…์ ์ธ ๊ฒƒ์ด์ฃ . "๊ทธ๋Ÿผ ์“ธ๋ชจ์—†๋Š” ๋ฉ”๋ชจ๋ฆฌ๋Š” ์™œ ์ƒ๊ธฐ๋Š”๊ฑด๋ฐ?" ์“ธ๋ชจ์—†๋Š” ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋‹ค๋ฅธ ๋ง๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์–ด๋””์„ ๊ฐ€ ์ƒˆ๊ณ  ์žˆ๋‹ค๋Š” ๋ง๋กœ๋„ ํ‘œํ˜„๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ƒŒ๋‹ค๋Š” ๊ฒƒ์„ ๋ฉ”๋ชจ๋ฆฌ ๋ฆญ(๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜) ํ˜„์ƒ์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ์š”. ์ด ๋ฉ”๋ชจ๋ฆฌ ๋ฆญ ํ˜„์ƒ์„ ์ž๋™์œผ๋กœ ๋ง‰์•„์ฃผ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ARC์ž…๋‹ˆ๋‹ค ! Auto Reference Coun.. 2020. 11. 21.
2018 KAKAO BLIND RECRUITMENT [3์ฐจ] ํŒŒ์ผ๋ช… ์ •๋ ฌ Swift ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [3์ฐจ] ํŒŒ์ผ๋ช… ์ •๋ ฌ ํŒŒ์ผ๋ช… ์ •๋ ฌ ์„ธ ์ฐจ๋ก€์˜ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์™€ ๋‘ ์ฐจ๋ก€์˜ ๋ฉด์ ‘์ด๋ผ๋Š” ๊ธฐ๋‚˜๊ธด ๋ธ”๋ผ์ธ๋“œ ๊ณต์ฑ„๋ฅผ ๋ฌด์‚ฌํžˆ ํ†ต๊ณผํ•ด ์นด์นด์˜ค์— ์ž…์‚ฌํ•œ ๋ฌด์ง€๋Š” ํŒŒ์ผ ์ €์žฅ์†Œ ์„œ๋ฒ„ ๊ด€๋ฆฌ๋ฅผ ๋งก๊ฒŒ ๋˜์—ˆ๋‹ค. ์ €์žฅ์†Œ ์„œ๋ฒ„์—๋Š” ํ”„๋กœ๊ทธ๋žจ programmers.co.kr Source Code 2020. 11. 19.
[iOS ๋ฉด์ ‘์งˆ๋ฌธ] Delegate์™€ Protocol ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค!! ์ด๋ฒˆ์— ์•Œ์•„๋ณผ ์ฃผ์ œ๋Š” ๋ฐ”๋กœ Delegate์™€ Protocol์ž…๋‹ˆ๋‹ค! Xcode์— Project๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๋ฉด AppDelegate,SceneDelegate,UITableViewDelegate....๋“ฑ ๋งŽ์€ ๋”œ๋ฆฌ๊ฒŒ์ดํŠธ๋ฅผ ๋ณด์…จ์„๊ฑฐ์—์š”. ์ €๋„ ์ด๊ฒŒ ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š”์ง€ ๋Œ€์ถฉ์€ ์•Œ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ๋ง‰์ƒ ์„ค๋ช…์„ ํ•˜๋ คํ•˜๋‹ˆ ๋ง์ด ์•ˆ๋‚˜์˜ค๋”๋ผ๊ตฌ์š” ๊ทธ๋ž˜์„œ ์•Œ์•„๋ณด๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‹œ์ž‘ํ•ด๋ณผ๊ฒŒ์šฉ~ Protocol ๋จผ์ € ๋”œ๋ฆฌ๊ฒŒ์ดํŠธ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด์„  Protocol์˜ ๊ฐœ๋…์„ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ด์š”. ์Šค์œ„ํ”„ํŠธ ๋ฌธ์„œ์—” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์˜ˆ์‹œ๋กœ ์„ค๋ช…๋“œ๋ฆด๊ฒŒ์š” ์ถ•๊ตฌ์„ ์ˆ˜ 3๋ช…์ด ์žˆ๋‹ค๊ณ  ํ• ๊ฒŒ์š”. ๊ทธ๋ ‡๋‹ค๋ฉด ํ”„๋กœํ† ์ฝœ์€ ๊ณต๊ฒฉ์ˆ˜,์ˆ˜๋น„์ˆ˜,๊ณจํ‚คํผ๊ฐ€ ๋ ๊ฑฐ์—์š” ๊ณต๊ฒฉ์ˆ˜๋Š” ์ŠˆํŒ…,๋“œ๋ฆฌ๋ธ”๋ง,์‹ค์ˆ˜ ์ˆ˜๋น„์ˆ˜๋Š” ๋ง‰๊ธฐ,ํƒœํด,๋†“์นจ ๊ณจ.. 2020. 11. 16.
2018 KAKAO BLIND RECRUITMENT [3์ฐจ] ์••์ถ• Swift ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [3์ฐจ] ์••์ถ• TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr Solution 1. ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์ด ๋‹ด๊ธด ๋ฐฐ์—ด -> var words = (64...90).map({"\(UnicodeScalar($0)!)"}) ์•„์Šคํ‚ค์ฝ”๋“œ 65๋ฒˆ๋ถ€ํ„ฐ 90๋ฒˆ๊นŒ์ง€๊ฐ€ A๋ถ€ํ„ฐ Z๋‹ค. ํ•˜์ง€๋งŒ ๋ฌธ์ œ์—์„œ๋Š” A์˜ ์ธ๋ฑ์Šค๋ฅผ 1๋กœ ํ–ˆ์œผ๋ฏ€๋กœ 64๋ฒˆ์งธ๋ถ€ํ„ฐ๋กœ ์„ค์ •ํ•จ. 2. words ์•ˆ์˜ ๋ฐฐ์—ด ์ค‘ ๊ฐ€์žฅ ๊ธด ๋ฌธ์ž๊ธธ์ด์—์„œ 1์„ ๋บ€ ์ˆ˜- > var maxCount = 0 3. msg๋ฅผ map์œผ๋กœ ๋‚˜๋ˆ ์ค€ ๋ณ€์ˆ˜ -> let map = msg.map{String($0)} 4. ํ˜„์žฌ ๋ฌธ์ž์˜ ์ธ๋ฑ์Šค .. 2020. 11. 16.
[iOS] Swift๋กœ Apple๋กœ๊ทธ์ธ ๊ตฌํ˜„ํ•˜๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค!! 2019 WWDC์—์„œ ๋ฐœํ‘œํ•œ Sign in with apple์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ๊ฑด๋ฐ์š”. ๋ฐœํ‘œ์™€ ๋™์‹œ์— Apple์€ ์ƒˆ๋กœ์šด ๊ฐ€์ด๋“œ ๋ผ์ธ์„ ์ถ”๊ฐ€ํ–ˆ๋Š”๋ฐ ๋ฐ”๋กœ ํƒ€์‚ฌ ์†Œ์…œ ๋กœ๊ทธ์ธ์ด ์žˆ๋‹ค ๋ฉด Apple ๋กœ๊ทธ์ธ์„ ํ•„์ˆ˜๋กœ ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด์ฃ ! ๊ทธ๋Ÿฌ๋‹ˆ๊น "ํƒ€์‚ฌ ๋กœ๊ทธ์ธ์„ ์ง€์›ํ• ๊ฑฐ๋ฉด ์šฐ๋ฆฌ๊บผ๋„ ๋ฌด์กฐ๊ฑด ์ง€์›ํ•ด!! " ๋ผ๋Š” ๊ฒƒ์ด์ฃ . ๊ทธ๋Ÿฌ๋ฉด ๊ตฌํ˜„ํ•˜๊ธฐ์— ์•ž์„œ ๊ฐ€์žฅ ๋จผ์ € ํ•„์š”ํ•œ ๊ฒƒ์€ ์• ํ”Œ ๊ฐœ๋ฐœ์ž ๊ณ„์ •์ž…๋‹ˆ๋‹ค. ์• ํ”Œ ๊ฐœ๋ฐœ์ž ๊ณ„์ •์ด ์žˆ์–ด์•ผ Sign in with apple ๊ถŒํ•œ์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š” ใ…  ๊ฐœ๋ฐœ์ž ๊ณ„์ • ๋“ฑ๋ก๋ฐฉ๋ฒ•์€ ์•„๋ž˜ ์‚ฌ์ดํŠธ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! Apple Developer ์•ฑ์—์„œ ๊ณ„์ • ๋“ฑ๋ก ๋ฐ ๊ด€๋ฆฌํ•˜๊ธฐ - ์ง€์› - Apple Developer ๋ฌธ์˜ํ•˜๊ธฐ ์–ด๋–ป๊ฒŒ ๋„์™€๋“œ๋ฆด ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ํ•ธ๋“œํฐ์ด๋‚˜ ์ด.. 2020. 11. 15.
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ1 ์ด์ง„ ๋ณ€ํ™˜ Swift Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ด์ง„ ๋ณ€ํ™˜ ๋ฐ˜๋ณตํ•˜๊ธฐ programmers.co.kr Solution ์ด์ง„๋ณ€ํ™˜ํ•œ ์ˆ˜๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜ -> var radix = s 0์˜ ๊ฐฏ์ˆ˜๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜ - > var zeroCount = 0 ํšŒ์ฐจ๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜ -> var turn = 0 while๋ฌธ์„ ์ด์šฉํ•ด ์ด์ง„๋ณ€ํ™˜ํ•œ ์ˆ˜(radix)๊ฐ€ 1์ด ๋ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์ค๋‹ˆ๋‹ค. -> while radix != "1" { 0์„ ์ œ๊ฑฐํ•œ ์ˆ˜๋Š” ๊ณง ์ „์ฒด๋ฌธ์ž์—์„œ 1๋งŒ ํ•„ํ„ฐ๋งํ•œ ๊ธ€์ž์ด๋ฏ€๋กœ filter๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด 1๋งŒ ๊ฑธ๋Ÿฌ์ค๋‹ˆ๋‹ค. -> let one = radix.filter{ $0 == "1"} ์ „์ฒด๋ฌธ์ž์˜ ๊ธธ์ด์—์„œ 1์˜ ๊ฐฏ์ˆ˜๋งŒํผ ๋บ€ ๊ฒƒ์ด 0์˜ ๊ฐฏ์ˆ˜์ด๋ฏ€๋กœ ๋บ€ ์ˆซ์ž๋ฅผ zeroCount์— ๋”ํ•ด์ค๋‹ˆ๋‹ค. 1์˜ ๊ฐฏ์ˆ˜๋ฅผ ์ด์ง„๋ณ€ํ™˜ํ•ด์ค๋‹ˆ๋‹ค. - > rad.. 2020. 11. 15.
2018 KAKAO BLIND RECRUITMENT[1์ฐจ] ํ”„๋ Œ์ฆˆ4๋ธ”๋ก Swift Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [1์ฐจ] ํ”„๋ Œ์ฆˆ4๋ธ”๋ก ํ”„๋ Œ์ฆˆ4๋ธ”๋ก ๋ธ”๋ผ์ธ๋“œ ๊ณต์ฑ„๋ฅผ ํ†ต๊ณผํ•œ ์‹ ์ž… ์‚ฌ์› ๋ผ์ด์–ธ์€ ์‹ ๊ทœ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ์—…๋ฌด๋ฅผ ๋งก๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋ฒˆ์— ์ถœ์‹œํ•  ๊ฒŒ์ž„ ์ œ๋ชฉ์€ ํ”„๋ Œ์ฆˆ4๋ธ”๋ก. ๊ฐ™์€ ๋ชจ์–‘์˜ ์นด์นด์˜คํ”„๋ Œ์ฆˆ ๋ธ”๋ก์ด 2×2 ํ˜•ํƒœ๋กœ 4๊ฐœ๊ฐ€ ๋ถ™ programmers.co.kr Solution ๋จผ์ € ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์ „์— ํ•„์š”ํ•œ ๋ณ€์ˆ˜๋“ค์€ ํผ์ฆ์ด ์‚ญ์ œ๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  remove Boolean๋ณ€์ˆ˜ -> var remove = true board ์•ˆ์˜ ๋ฌธ์ž๋ฅผ ์‰ฝ๊ฒŒ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด map์œผ๋กœ ๋ฐ”๊ฟ”์ค€ boards ๋ณ€์ˆ˜ -> var boardsCopy = boards boards์˜ ๊ฐ’์„ ์ €์žฅํ•  boardsCopy ๋ณ€์ˆ˜ -> var boards = board.map{$0.map{String($0)}} ๋นˆ์นธ์˜ ๊ฐฏ์ˆ˜๋ฅผ ์…€.. 2020. 11. 14.
[Swift] toggle์„ ์ด์šฉํ•˜์—ฌ Bool๊ฐ’ ์‰ฝ๊ฒŒ ๋ฐ”๊พธ๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š” Foma ์ž…๋‹ˆ๋‹ค!! ์˜ค๋Š˜ ์•Œ์•„๋ณผ ๊ฑด toggle()์ด๋ผ๋Š” ๋ฉ”์†Œ๋“œ์ž…๋‹ˆ๋‹ค. ํ‰์†Œ์— Boolean๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด true์ผ๋•Œ false์ผ๋•Œ๋ฅผ ์•Œ์•„๋‚ด์–ด ์‚ฌ์šฉํ•˜๊ณค ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ toggle() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ˜„์žฌ Boolean๊ฐ’์„ ๋ฐ˜๋Œ€๋กœ ๋ฐ”๊พธ์–ด์ค๋‹ˆ๋‹ค. ๊ณ ๋กœ ํ˜„์žฌ์˜ Boolean๊ฐ’์„ ๋ชฐ๋ผ๋„ ๋ฐ˜๋Œ€๋กœ ๋ฐ”๊ฟ”์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์•„์ฃผ ์œ ์šฉํ•œ ๊ฒƒ์ด์ฃ !! ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ‰์†Œ ์•„๋ž˜์™€ ๊ฐ™์ด boolean๊ฐ’์„ ์•Œ์•„๋‚ผ ๋• if๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜๋Œ€๋กœ ๋ฐ”๊พธ๊ณค ํ–ˆ๋Š”๋ฐ์š” ์•„๋ž˜์™€ ๊ฐ™์ด toggle()์„ ์‚ฌ์šฉํ•˜๋ฉด boolean๊ฐ’์ด ์•Œ์•„์„œ ๋ฐ˜๋Œ€๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค!!! 2020. 11. 13.
728x90
๋ฐ˜์‘ํ˜•