Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป
๋ฐ˜์‘ํ˜•

potato's devlog 437

[๋ฐฑ์ค€] (Swift) 1406๋ฒˆ - ์—๋””ํ„ฐ

๋ฌธ์ œ๋งํฌ https://www.acmicpc.net/problem/1406 1406๋ฒˆ: ์—๋””ํ„ฐ ์ฒซ์งธ ์ค„์—๋Š” ์ดˆ๊ธฐ์— ํŽธ์ง‘๊ธฐ์— ์ž…๋ ฅ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๋ฌธ์ž์—ด์€ ๊ธธ์ด๊ฐ€ N์ด๊ณ , ์˜์–ด ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ธธ์ด๋Š” 100,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์ž…๋ ฅํ•  ๋ช…๋ น์–ด์˜ ๊ฐœ์ˆ˜ www.acmicpc.net ๋‚ด๊ฐ€ ํ‘ผ ํ’€์ด (1) - ์‹œ๊ฐ„์ดˆ๊ณผ! ์ปค์„œ๋ฅผ ์›€์ง์—ฌ์•ผํ•œ๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ ๋ฐฐ์—ด์—์„œ ์ธ๋ฑ์Šค๋ฅผ ์™”๋‹ค๊ฐ”๋‹ค ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ์Œ. ๋ฐฐ์—ด์„ ์›€์ง์ด๊ณ , ํ•˜๋‚˜์˜ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋ ๋•Œ๋งˆ๋‹ค ์ธ๋ฑ์Šค์™€ ๋ฌธ์ž์—ด์„ ๋ฐ”๊พธ์–ด์ค˜์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ ๊ฐ™์Œ. import Foundation var text = Array(readLine()!) let n = Int(readLine()!)! var cursor = text..

Algorithm/Baekjoon 2022.01.30

[Swift] ์ž…๋ ฅ ๋ฐ›๊ธฐ - readLine() ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• ์‚ดํŽด๋ณด๊ธฐ (feat.๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€ ๋•Œ ํ•„์ˆ˜)

์•ˆ๋…•ํ•˜์„ธ์š” ๊ฐ์ž์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ swift ์–ธ์–ด์—์„œ ์ž…๋ ฅ์„ ๋ฐ›๋Š” ๋ฉ”์„œ๋“œ์ธ readLine()์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฑฐ์—์š”. ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์ค€๋น„์ค‘์ธ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค๋Š” ๋‹ต์•ˆ์„ func๋กœ ์ž‘์„ฑํ•˜๋ฉฐ ๋˜์ง€๋งŒ, ๋ฐฑ์ค€์€ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ๋ชจ๋‘ ์ž…๋ ฅํ•ด์•ผํ•ด์š”! ๊ทธ๋ž˜์„œ ๋ฐฑ์ค€์œผ๋กœ ๊ณต๋ถ€ํ•  ๋•Œ ๊ฐ ์–ธ์–ด๋ณ„๋กœ input์„ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ตํžˆ๊ณ  ์žˆ๋Š”๊ฒƒ์ด ํ•„์ˆ˜์ธ๋ฐ์š”, ์ž…๋ ฅ์„ ๊ทธ๋ƒฅ ์ˆ˜ ํ•˜๋‚˜๋งŒ ๋ฐ›๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ํ–‰๋ ฌ๋กœ ๋ฐ›๊ธฐ๋„ ํ•˜๊ณ , ๋ฐฐ์—ด๋กœ ๋ฐ›๊ธฐ๋„ํ•˜๊ณ , ์—ฌ๋Ÿฌ์ค„๋กœ ๋ฐ›๊ธฐ๋„ํ•˜๊ณ  ์ •๋ง ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ input์„ ๋ฐ›์ž–์•„์š”! ์ด๊ฒƒ์„ ๋ชจ๋‘ ์ตํ˜€๋†”์•ผ ๋‚˜์ค‘์— ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€๋•Œ ๋ง‰ํžˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ฐจ๊ทผ์ฐจ๊ทผ ์ •๋ฆฌํ•ด๋ณด๋„๋ก ํ• ๊ฒŒ์š”. ์‚ฌ์‹ค ์ œ๊ฐ€ ํ—ท๊ฐˆ๋ฆฌ๊ณ  ์ œ๊ฐ€ ์™ธ์›Œ๋†“๊ธฐ(?) ์œ„ํ•ด์„œ ์ ๋Š”๊ฑฐ๋ž๋‹ˆ๋‹ค ํ—ˆํ—ˆ ๊ทธ๋Ÿผ go readLine() Swift์—์„œ ์ž…๋ ฅ์€ readLine()์„ ํ†ตํ•ด์„œ ํ• ..

Swift/Swift BASIC 2022.01.30

[๋ฐฑ์ค€] (Swift) 1874๋ฒˆ - ์Šคํƒ ์ˆ˜์—ด

๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1874 1874๋ฒˆ: ์Šคํƒ ์ˆ˜์—ด 1๋ถ€ํ„ฐ n๊นŒ์ง€์— ์ˆ˜์— ๋Œ€ํ•ด ์ฐจ๋ก€๋กœ [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ˆ˜์—ด [4, 3, 6, 8, 7, 5, 2, 1]์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. www.acmicpc.net ๋‚˜์˜ ํ’€์ด ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๊ฑธ๋ ธ์ง€๋งŒ, ์ดํ•ดํ•˜๊ณ  ๋‚˜๋‹ˆ ์–ด๋ ค์šด ๋ฌธ์ œ๋Š” ์•„๋‹ˆ์—ˆ๋‹ค. ๋ฌธ์ œ์˜ ์ฒซ๋ฒˆ์žฌ ์ž…์ถœ๋ ฅ์„ ์˜ˆ์‹œ๋กœ ๋“ค์–ด๋ณด์•˜๋‹ค. (8 4 3 6 8 7 5 2 1) ์ž…๋ ฅ์„ ํ•ด์„ํ•ด๋ณด๋ฉด, ์ฒ˜์Œ ์ˆซ์ž 8์„ ๊ธฐ์ค€์œผ๋กœ 8 ๋ฒˆ ์ž…๋ ฅ ๋ฐ›์„๊ฑฐ๊ณ , ์ˆ˜์—ด์€ 4,3,,,, ์ด๋ ‡๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค. ๋”ฐ๋ผ์„œ n์„..

Algorithm/Baekjoon 2022.01.28

[Swift] Content Priority Ambiguity ์—๋Ÿฌ ํ•ด๊ฒฐํ•˜๊ธฐ (hugging priority, compression resistance priority ๋ž€?)

Swift์—์„œ AutoLayout์„ ํ™œ์šฉํ•˜์—ฌ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๋‹ค๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ƒฅ ๋‹จ์ˆœํžˆ margin์„ ์„ค์ •ํ–ˆ์„ ๋ถ„์ธ๋ฐ ์™œ.. ๋„๋Œ€์ฒด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€? label๊ณผ label ์‚ฌ์ด์— margin์„ 20์œผ๋กœ ์„ค์ •ํ–ˆ๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ๋นจ๊ฐ„์ค„์ด ๋œจ๋ฉด์„œ ์ „ํ˜€ ์ˆ˜์ •๋˜์ง€ ์•Š์•˜๋‹ค. ์™œ ์•ˆ์›€์ง์—ฌ?? ์ด๋Š” ๋ฐ”๋กœ error๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ด๋‹ค. ์™ผ์ชฝ ๋„ค๋น„๊ฒŒ์ดํ„ฐ(?)์— ๋ณด๋ฉด, ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ์ž‘์€ ๋นจ๊ฐ„ ํ™”์‚ดํ‘œ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ํด๋ฆญํ•ด๋ณด์ž. ๋ฌด์Šจ์—๋Ÿฌ์ผ๊นŒ? ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. "Content Priority Ambiguity", "Set vertical hugging priority"๋ผ๊ณ  ๋‚˜์˜จ๋‹ค. ๋„๋Œ€์ฒด ๋ฌด์Šจ๋ง์ผ๊นŒ. ์ด๋Š” ๋ฐ”๋กœ content hugging priority๋ฅผ ์„ค์ •ํ•˜๋ผ๋Š” ๋œป์ด๋‹ค. ์ด๋Š” side i..

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ๊ณ ์ฐจํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ๋ฐฐ์›Œ๋ณด์ž (map, filter, reduce)

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค. ์ด์ œ ์Šฌ์Šฌ swift์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ๊ฐœ๋…์ด ๋งˆ๋ฌด๋ฆฌ๋˜์–ด๊ฐ€๋Š”๋ฐ์š”, ์„œ์นญ์„ ํ•˜๋ฉดํ•  ์ˆ˜๋ก ๊ทธ์ €'๊ธฐ์ดˆ!' ์ผ ๋ฟ์ด๋”๋ผ๊ตฌ์š” ^^ ์™ค์ผ€ ์ˆจ๊ฒจ์ง€๊ณ  ์–ด๋ ต๊ณ  ๊ผฌ์•„์ง„ ๋ฌธ๋ฒ•๋“ค์ด ๋งŽ์€๊ฑด์ง€... ์•„์ง ๊ฐˆ๊ธธ์ด ๋จธ๋„ค์š”. ํŒŒ์ด์ฌ์œผ๋กœ ๋‹ค๋ฅธ ๋ถ„์•ผ๋งŒ ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ ์ฒ˜์Œ์œผ๋กœ ์–ธ์–ด๋ฅผ ์ด๋ ‡๊ฒŒ ๋˜ ์ƒˆ๋กญ๊ฒŒ ๊ณต๋ถ€ํ•ด๋ณด๋Š” ๊ฒƒ์ธ๋ฐ, ์•„์ฃผ ์•„์ฃผ ์ƒˆ๋กญ๋„ค์š”! ์–ผ๋ฅธ todo list๋ผ๋„ ๊ฐœ๋ฐœ ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค๋ ฅ์„ ๊ฐ€์งˆ ๋•Œ๊นŒ์ง€,,,, ํ™”์ดํŒ… ํ•ด๋ด…์‹œ๋‹ค.! ๊ณ ์ฐจํ•จ์ˆ˜๋ž€? ๋‹ค๋ฅธํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌ์ธ์ž๋กœ ๋ฐ›๊ฑฐ๋‚˜, ํ•จ์ˆ˜ ์‹คํ–‰์˜ ๊ฒฐ๊ณผ๋ฅผ ํ•จ์ˆ˜๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. swift์˜ ํ•จ์ˆ˜๋Š” ์ผ๊ธ‰๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•จ์ˆ˜์— ์ „๋‹ฌ์ธ์ž๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. swift์—์„œ ์ง€์›ํ•˜๋Š” ๊ณ ์ฐจํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. map filter reduce ์ด ์„ธ ๊ฐœ์˜ ํ•จ์ˆ˜..

Swift/Swift BASIC 2022.01.23

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ํด๋กœ์ €์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ๊ฐœ๋… (closure)

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค! ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ํด๋กœ์ €์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค. ๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํ”„ 30๊ฐœ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šฐ๋Š” ios์•ฑ ๊ฐœ๋ฐœ, ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋“ค์„ ์ฐธ๊ณ ํ•ด์„œ ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ถœ์ฒ˜๋Š” ๋ฐ‘์—๋‚จ๊ฒจ์š”! ํด๋กœ์ €๋ž€? ํด๋กœ์ €๋Š” ์ฐธ์กฐํƒ€์ž…์ด๊ณ , ์ฝ”๋“œ์—์„œ ์ „๋‹ฌ ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋…๋ฆฝ๊ธฐ๋Šฅ์ด๋ฉฐ, ์ผ๊ธ‰ ๊ฐ์ฒด์˜ ์—ญํ• ์„ ํ•œ๋‹ค. ์ผ๊ธ‰๊ฐ์ฒด๋ž€ ์ „๋‹ฌ์ธ์ž๋กœ ๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ๊ณ , ๋ณ€์ˆ˜/์ƒ์ˆ˜ ๋“ฑ์œผ๋กœ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ „๋‹ฌ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์ด ๋  ์ˆ˜๋„ ์žˆ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋ณดํ†ต ํด๋กœ์ €๋ผ๊ณ  ํ•˜๋ฉด ์ด๋ฆ„์—†๋Š” ํ•จ์ˆ˜ ์ฆ‰, ์ต๋ช…ํ•จ์ˆ˜๋ฅผ ์ง€์นญํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํด๋กœ์ €๋Š” named ํด๋กœ์ €, unnamed ํด๋กœ์ € ๋‘˜๋‹ค ํฌํ•จํ•œ๋‹ค. ํด๋กœ์ € ํ‘œํ˜„์‹์€ ๋‹ค์Œ๊ณผ๊ฐ™๋‹ค. ์ต๋ช…ํ•จ์ˆ˜์—ฌ์„œ func๋ผ๋Š” ํ‚ค์›Œ๋“œ๋Š” ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํด๋กœ์ € ํ—ค๋“œ์™€ ํด๋กœ์ € ๋ฐ”๋””๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. ๋…ธ๋ž€..

Swift/Swift BASIC 2022.01.23

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ์˜ˆ์™ธ์ฒ˜๋ฆฌ (throws, do-catch, try)

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์—๋Ÿฌ๋ฅผ ๋‹ค๋ฃจ๋Š” try-catch๊ตฌ๋ฌธ์— ๋Œ€ํ•ด์„œ ๋ฐฐ์›Œ๋ณด๋„๋ก ํ•˜์ฃ ! ๊ฐ„๋‹จํ•˜๋‹ˆ ์–ด์„œ gogo~ ๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํ”„ 30๊ฐœ๋กœ ๋ฐฐ์šฐ๋Š” ios๊ฐœ๋ฐœ ๊ฐ•์˜์™€, ์ธํ„ฐ๋„ท ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…๋“ค์„ ๋ณด๋ฉฐ ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค :) try-catch๋ž€? try-catch๋ž€ ์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ๋ฌธ์ด๋‹ค. ์—๋Ÿฌ์ฒ˜๋ฆฌ๋ž€, ํ”„๋กœ๊ทธ๋žจ๋‚ด์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ์ƒํ™ฉ์— ๋Œ€์‘ํ•˜๊ณ  ์ด๋ฅผ ๋ณต๊ตฌํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. Swift์—์„œ๋Š” ๋Ÿฐํƒ€์ž„์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ, ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฐœ์ƒ, ๊ฐ์ง€, ์ „ํŒŒ, ์กฐ์ž‘์„ ์ง€์›ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ชจ๋“ ๊ธฐ๋Šฅ์ด ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š”๋Œ€๋กœ ๋™์ž‘ํ•œ๋‹ค๋Š” ๋ณด์žฅ์€ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ์˜ค๋ฅ˜ ์ƒํ™ฉ์„ ๊ตฌ๋ณ„ํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ ์ž์ฒด์ ์œผ๋กœ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž์—๊ฒŒ ์–ด๋–ค ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ๋“ฑ์— ๋Œ€..

Swift/Swift BASIC 2022.01.23

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ์˜ต์…”๋„ ์ฒด์ด๋‹ (Optional Chaining) (ํ•จ์ˆ˜์™€ ๋”•์…”๋„ˆ๋ฆฌ-()?, []?, ?()?, ?[]?)

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์˜ต์…”๋„ ์ฒด์ด๋‹์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ด…์‹œ๋‹ค. ๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค 30๊ฐœ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šฐ๋Š” iOS์•ฑ ๊ฐœ๋ฐœ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ์ž‘์„ฑํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค :) ์˜ต์…”๋„ ์ฒด์ด๋‹(Optional Chaning) ์ด๋ž€? chaining์ด๋ผ๋Š” ๊ฒƒ์€ ์—ฐ์‡„๋ผ๋Š” ๋œป์œผ๋กœ, ์˜ต์…”๋„์„ ์—ฐ์‡„์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. (์˜ต์…”๋„ ๊ฐœ๋…) ๊ธฐ๋ณธ์ ์ธ ํ˜•ํƒœ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. person.contacts?.address person?.contacts?.address ์ด์ œ ๊ฐœ๋ฐœ์„ ํ•˜๊ฒŒ ๋˜๋ฉด, ์ด๋Ÿฌํ•œ ํ˜•ํƒœ๋ฅผ ๋งŽ์ด ๋ณด๊ฒŒ ๋ ํ…๋ฐ ํ™•์‹คํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋ณด๋„๋ก ํ•˜์ž :) ์˜จ์ (.) ์„ ํ†ตํ•ด ๋‚ด๋ถ€ ํ”„๋กœํผํ‹ฐ๋‚˜ ๋ฉ”์„œ๋“œ์— ์—ฐ์†์ ์œผ๋กœ ์ ‘๊ทผํ•˜๊ฒŒ ๋  ๋•Œ, ์˜ต์…”๋„ ๊ฐ’์ด ํ•˜๋‚˜๋ผ๋„ ๊ปด ์žˆ๋‹ค๋ฉด, ์˜ต์…”๋„ ์ฒด์ด๋‹์ด๋‹ค. ์ด๊ฒƒ์ด ๋ฌด์Šจ๋ง์ด๋ƒ, person.c..

Swift/Swift BASIC 2022.01.20

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - ์—ด๊ฑฐํ˜• (enum)

์•ˆ๋…•ํ•˜์„ธ์š” ๊ฐ์ž์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜ ๋“œ๋””์–ด! ์—ด๊ฑฐํ˜•์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•์„ ์•Œ์•„๋ด…์‹œ๋‹ค. ์•ž์„œ ๊ณต๋ถ€ํ•  ๋•Œ ํ•ญ์ƒ ๊ตฌ์กฐ์ฒด, ํด๋ž˜์Šค, ์—ด๊ฑฐํ˜•์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค~~ ์ด๋Ÿฐ์‹์˜ ๋ฌธ๊ตฌ๊ฐ€ ๋งŽ์ด ๋“ฑ์žฅํ–ˆ๋Š”๋ฐ์š”, ์—ด๊ฑฐํ˜•์ด ๊ณผ์—ฐ ์–ด๋–ค๊ฒƒ์ผ์ง€ ๊ถ๊ธˆํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ด๊ฑฐํ˜•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ฃ ! ๊ทธ๋Ÿผ ๊ณ !! ๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค์˜ 30๊ฐœ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šฐ๋Š” iOS์•ฑ ๊ฐœ๋ฐœ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒจ์ŠคํŠธ์บ ํผ์Šค [์ง์žฅ์ธ ์‹ค๋ฌด๊ต์œก] ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ์˜์ƒํŽธ์ง‘, UX/UI, ๋งˆ์ผ€ํŒ…, ๋ฐ์ดํ„ฐ ๋ถ„์„, ์—‘์…€๊ฐ•์˜, The RED, ๊ตญ๋น„์ง€์›, ๊ธฐ์—…๊ต์œก, ์„œ๋น„์Šค ์ œ๊ณต. fastcampus.co.kr ์—ด๊ฑฐํ˜•์ด๋ž€? ์—ด๊ฑฐํ˜•์ด๋ž€, ์—ฐ๊ด€์„ฑ์ด ์žˆ๋Š” ๊ฐ’์„ ๋ชจ์•„ ๋†“์€ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ด„ ์—ฌ๋ฆ„ ๊ฐ€์„ ๊ฒจ์šธ ๊ฐ™์ด ์—ฐ๊ด€๋œ ํ•ญ๋ชฉ๋ผ๋ฆฌ ๋ฌถ์–ด ๋†“์€ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋Ÿผ ์Šค์œ„ํ”„ํŠธ..

Swift/Swift BASIC 2022.01.20

[Swift] ๊ธฐ์ดˆ ๋ฌธ๋ฒ• - extension(ํ™•์žฅ)

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์ž์ž…๋‹ˆ๋‹ค! ์˜ค๋Š˜์€ ์ต์Šคํ…์…˜์— ๋Œ€ํ•ด์„œ ๋ฐฐ์›Œ๋ณด๋„๋ก ํ• ๊ฒŒ์š”. ๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค์˜ 30๊ฐœ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šฐ๋Š” iOS์•ฑ๊ฐœ๋ฐœ with Swift ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. extension(์ต์Šคํ…์…˜) ์ด๋ž€? extension(์ต์Šคํ…์…˜, ํ™•์žฅ) ๊ธฐ๋Šฅ์€ ์ด์ „์˜ ๋‚ด๋ถ€ ์†Œ์Šค๋ฅผ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ์›๋ณธ ํƒ€์ž…๋“ค์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ๋ฒ•์ด๋‹ค. ๊ธฐ์กด์˜ ํด๋ž˜์Šค, ์—ด๊ฑฐํ˜•, ํ”„๋กœํ† ์ฝœ์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ต์Šคํ…์…˜์ด ํƒ€์ž…์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์—ฐ์‚ฐ ํƒ€์ž… ํ”„๋กœํผํ‹ฐ / ์—ฐ์‚ฐ ์ธ์Šคํ„ด์Šค ํ”„๋กœํผํ‹ฐ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ํƒ€์ž… ๋ฉ”์„œ๋“œ / ์ธ์Šคํ„ด์Šค ๋ฉ”์„œ๋“œ ์ •์˜ ์ƒˆ๋กœ์šด ์ƒ์„ฑ์ž (initializer)์˜ ์ œ๊ณต subscripts ์ ‘๊ทผ๋ฐฉ์‹ ์ •์˜ ์ค‘์ฒฉ ํƒ€์ž…์˜ ์ •์˜ ๋ฐ ์‚ฌ์šฉ ํŠน์ • ํ”„๋กœํ† ์ฝœ์„ ์ค€์ˆ˜ํ•  ์ˆ˜..

Swift/Swift BASIC 2022.01.20
๋ฐ˜์‘ํ˜•