๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€264

[Swift Algorithm] ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ Programmers(Lv.1) ๋ฌธ์ œ ์„ค๋ช… ๋‘ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๋‘ ์ˆ˜์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด ๋ณด์„ธ์š”. ๋ฐฐ์—ด์˜ ๋งจ ์•ž์— ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜, ๊ทธ๋‹ค์Œ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๋„ฃ์–ด ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‘ ์ˆ˜ 3, 12์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” 3, ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋Š” 12์ด๋ฏ€๋กœ solution(3, 12)๋Š” [3, 12]๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์กฐ๊ฑด ๋‘ ์ˆ˜๋Š” 1์ด์ƒ 1000000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ n m return 3 12 [3, 12] 2 5 [1, 10] ๋‚ด ๋ฌธ์ œ ํ’€์ด func solution1(_ n:Int, _ m:Int) -> [Int] { var max = 0 // ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ var a = 0 // ์ž…๋ ฅ๋ฐ›์€ ์ˆ˜ ์ค‘์— ๋” ํฐ ์ˆ˜ // ๋” ํฐ ์ˆ˜๋ฅผ ๋ณ€์ˆ˜ a์— ๋„ฃ์Œ if n > m { a = n } els.. 2021. 6. 14.
[Swift] sorted, joined ํ•จ์ˆ˜ ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ ์‚ฌํ•ญ! ๋‚ด๊ฐ€ ๋ฌธ์ž์—ด ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ sorted์™€ joined๋ฅผ ํ•จ๊ป˜ ์“ฐ๋ ค๊ณ  ํ•˜๋‹ˆ ์˜ค๋ฅ˜๊ฐ€ ๋œจ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ๊ทผ๋ฐ ๊ทธ ์ด์œ ๋ฅผ ๋„๋Œ€์ฒด ์•Œ ์ˆ˜๊ฐ€ ์—†์–ด์„œ ํ•œ์ฐธ์„ ๊ณ ๋ฏผํ–ˆ๋‹ค,, ๊นจ๋‹ซ๊ณ  ๋‚˜๋‹ˆ ๊ฐ„๋‹จํ•œ ๋‚ด์šฉ์ด์—ˆ์ง€๋งŒใ…œ ์•ž์œผ๋กœ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ํ™•์‹คํ•˜๊ฒŒ ์•Œ๊ณ  ์‚ฌ์šฉํ•˜์ž๋Š” ๋ฐ˜์„ฑ์˜ ์˜๋ฏธ์—์„œ ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณด๋ ค ํ•œ๋‹ค. ๐Ÿ“Ž ๋‚ด๊ฐ€ ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ์ž‘์—…์€ ๋ฌธ์ž์—ด์„ ์ •๋ ฌํ•˜์—ฌ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ. ํ•˜์ง€๋งŒ ๋ฌธ์ž์—ด์„ ์ •๋ ฌํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ ๋ฐฐ์—ด์„ ๋‹ค์‹œ ๋ฌธ์ž์—ด๋กœ joinedํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์ด๋ ‡๊ฒŒ,,!! (๋ฌผ๋ก  String(String(num).sorted())๋กœ ํ•ด์ฃผ๋ฉด ์ถฉ๋ถ„ํ•˜์ง€๋งŒ, ํ•œ ๋ฒˆ ์‹œ๋„ํ•ด๋ดค๋‹ค๊ฐ€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ๊ถ๊ธˆํ•ด์ ธ๋ฒ„๋ ธ๋‹ค,,) ๋‚ด๊ฐ€ ์—ฌ๊ธฐ์„œ ์ด ์˜ค๋ฅ˜์˜ ์›์ธ์„ ์ฐพ๋Š”๋ฐ ์˜ค๋ž˜ ๊ฑธ๋ ธ๋˜ ์ด์œ ๋Š”, ๋ถ„๋ช… joined๋Š” [String] ํƒ€์ž…์˜ ์ž…๋ ฅ ๊ฐ’์„ ์ฒ˜.. 2021. 6. 13.
[Swift] ์˜ต์…”๋„ ์ถ”์ถœ (๊ฐ•์ œ ์ถ”์ถœ, ์˜ต์…”๋„ ๋ฐ”์ธ๋”ฉ, ์˜ต์…”๋„ ์ฒด์ด๋‹) ์ •๋ฆฌ ๋‚ด ๋ธ”๋กœ๊ทธ ์ฒซ ๊ธ€๋กœ ์˜ต์…”๋„์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์—…๋กœ๋“œํ–ˆ์—ˆ๋‹ค. ๊ทธ๋•Œ ์†Œ๊ฐœํ•˜๊ธฐ๋ฅผ, ๋‚ด๊ฐ€ ์Šค์œ„ํ”„ํŠธ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋‹ค๋ณด๋‹ˆ ?์™€ !๋ฅผ ์ ‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค๊ณ  ํ–ˆ๋˜ ๊ธฐ์–ต,, ๊ทธ ๋‚ ์€ ?์— ๋Œ€ํ•ด์„œ ์†Œ๊ฐœ๋ฅผ ํ–ˆ๋‹ค๋ฉด ๊ทธ์— ์ด์–ด ์˜ค๋Š˜์€ !์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์˜ต์…”๋„์ธ ๊ฐ’์„ ์˜ต์…”๋„์ด ์•„๋‹Œ ๊ฐ’์œผ๋กœ ์ถ”์ถœํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•๋“ค์„ ์ •๋ฆฌํ•ด๋ณด์ž! (์˜ต์…”๋„์— ๋Œ€ํ•ด ๋ชจ๋ฅด์‹œ๋Š” ๋ถ„์ด๋ผ๋ฉด ์—ฌ๊ธฐ๐Ÿ‘‡๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!) 2021.06.06 - [๐Ÿ“ Swift Note/๐Ÿ“‹ Concept Summary] - [Swift] Optional(์˜ต์…”๋„) ์ •๋ฆฌ [Swift] Optional(์˜ต์…”๋„) ์ •๋ฆฌ ์Šค์œ„ํ”„ํŠธ ๊ณต๋ถ€๋ฅผ ํ•˜๋‹ค ๋ณด๋‹ˆ ?, ๊ทธ๋ฆฌ๊ณ  ! ์ด๋Ÿฐ ๋ฌธ์žฅ ๋ถ€ํ˜ธ๋“ค์ด ๋“ฑ์žฅํ•œ๋‹ค. ์˜ค๋Š˜์€ ๊ทธ ์ค‘ ?์— ๋Œ€ํ•ด ๋จผ์ € ์„ค๋ช…ํ•ด ๋ณด๋ ค ํ•œ๋‹ค. ๐Ÿ“Ž ์˜ต์…”๋„ ์Šค์œ„ํ”„ํŠธ๊ฐ€ ๊ฐ€์ง€๋Š” ๋Œ€ํ‘œ์ ์ธ ํŠน์ง•์œผ๋กœ ์•ˆ์ „์„ฑ์ด.. 2021. 6. 12.
[Swift] Type Annotation๊ณผ Type Inference (ํƒ€์ž… ์–ด๋…ธํ…Œ์ด์…˜๊ณผ ํƒ€์ž… ์ถ”๋ก ) ์Šค์œ„ํ”„ํŠธ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๋ณด๋ฉด ๊ฐ€๋” Type Annotation์— ๊ด€ํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ตฌ๊ธ€๋ง ํ•  ๋•Œ๋„ ์–ด๋…ธํ…Œ์ด์…˜์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋งŽ์ด ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ทธ๋ƒฅ ๋ฌธ๋งฅ ์ƒ ๋ณ€์ˆ˜ ์ƒ์„ฑ์‹œ ํƒ€์ž…์„ ์ง€์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค๊ณ  ์ดํ•ดํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์˜ค๋Š˜์€ ์Šค์œ„ํ”„ํŠธ์˜ Type Annotation๊ณผ Inference์— ๋Œ€ํ•ด ์ •ํ™•ํžˆ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๐Ÿ“Ž Type Annotation (ํƒ€์ž… ์–ด๋…ธํ…Œ์ด์…˜) ์Šค์œ„ํ”„ํŠธ์—์„œ๋Š” ๋ณ€์ˆ˜ ํ˜น์€ ์ƒ์ˆ˜๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ์—๋Š” var [๋ณ€์ˆ˜๋ช…]: [๋ฐ์ดํ„ฐ ํƒ€์ž…] = [๊ฐ’]์˜ ํ˜•ํƒœ๋กœ, ์ƒ์ˆ˜ ์„ ์–ธ ์‹œ์—๋Š” let [์ƒ์ˆ˜๋ช…]: [๋ฐ์ดํ„ฐ ํƒ€์ž…] = [๊ฐ’]์˜ ํ˜•ํƒœ๋กœ ์ƒ์„ฑํ•œ๋‹ค. // ๋ณ€์ˆ˜ ์ƒ์„ฑ var a1: Int var a2: Int = 0 // ์ƒ์ˆ˜ ์ƒ์„ฑ let b1: Int let.. 2021. 6. 11.
[Swift] Int, Int64? ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๋ณด๋‹ˆ Int64 ํ˜•ํƒœ์˜ ํƒ€์ž…์ด ๋ณด์—ฌ์„œ ์ฒ˜์Œ ์•Œ๊ฒŒ ๋๋‹ค. ์‚ฌ์šฉํ•ด๋ณด๋‹ˆ ์ •์ˆ˜๋ฅผ ์ €์žฅํ•œ๋‹ค๋Š” ์ ์€ Int์™€ ๊ฐ™์€ ๊ฒƒ ๊ฐ™์•„์„œ ๊ทธ๋ƒฅ ํƒ€์ž…์บ์ŠคํŒ… ํ•ด๊ฐ€๋ฉฐ ์ฝ”๋”ฉํ–ˆ๋‹ค. ๊ทผ๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ๋ฌธ์ œ์— ์ž์ฃผ ๋“ฑ์žฅํ•ด์„œใ…œ ์ด๋Œ€๋กœ ๊ณ„์† ๋ชจ๋ฅด๋Š” ์ƒํƒœ๋กœ ๋„˜์–ด๊ฐ€๋ฉด ์•ˆ๋ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—” Int64๊ฐ€ ๋ญ”์ง€ ์ •ํ™•ํžˆ ํ•œ ๋ฒˆ ์งš๊ณ  ๋„˜์–ด๊ฐ€๋ ค๊ณ  ํ•œ๋‹ค. Int64์ฒ˜๋Ÿผ Int ๋’ค์— ๋ถ™์€ ์ˆซ์ž๋Š” ์˜ˆ์ƒํ•˜๋‹ค์‹œํ”ผ,, ๋น„ํŠธ๋ฅผ ์˜๋ฏธํ•œ๋‹ค! ๊ทธ ์ข…๋ฅ˜๋กœ๋Š” Int8, Int16, Int32, Int64๊ฐ€ ์žˆ๋‹ค. ๐Ÿ“Ž ๊ฐ ์„œ๋ธŒ ํƒ€์ž…๋“ค์˜ ๋ฒ”์œ„ ํƒ€์ž…์˜ ๋ฒ”์œ„๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐ„๋‹จํžˆ ์ž‘์„ฑํ–ˆ๋‹ค. print("Int8 : " + String(Int8.min) + " ~ " + String(Int8.max)) print("Int16 : " + String(I.. 2021. 6. 9.