3๏ธโฃ Swift130 [Swift Algorithm] ์ฝ๋ผ์ธ ์ถ์ธก Programmers(Lv.1) ๋ฌธ์ ์ค๋ช 1937๋ Collatz๋ ์ฌ๋์ ์ํด ์ ๊ธฐ๋ ์ด ์ถ์ธก์, ์ฃผ์ด์ง ์๊ฐ 1์ด ๋ ๋๊น์ง ๋ค์ ์์ ์ ๋ฐ๋ณตํ๋ฉด, ๋ชจ๋ ์๋ฅผ 1๋ก ๋ง๋ค ์ ์๋ค๋ ์ถ์ธก์ ๋๋ค. ์์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 1-1. ์ ๋ ฅ๋ ์๊ฐ ์ง์๋ผ๋ฉด 2๋ก ๋๋๋๋ค. 1-2. ์ ๋ ฅ๋ ์๊ฐ ํ์๋ผ๋ฉด 3์ ๊ณฑํ๊ณ 1์ ๋ํฉ๋๋ค. 2. ๊ฒฐ๊ณผ๋ก ๋์จ ์์ ๊ฐ์ ์์ ์ 1์ด ๋ ๋๊น์ง ๋ฐ๋ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ ๋ ฅ๋ ์๊ฐ 6์ด๋ผ๋ฉด 6→3→10→5→16→8→4→2→1 ์ด ๋์ด ์ด 8๋ฒ ๋ง์ 1์ด ๋ฉ๋๋ค. ์ ์์ ์ ๋ช ๋ฒ์ด๋ ๋ฐ๋ณตํด์ผํ๋์ง ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด ์ฃผ์ธ์. ๋จ, ์์ ์ 500๋ฒ์ ๋ฐ๋ณตํด๋ 1์ด ๋์ง ์๋๋ค๋ฉด –1์ ๋ฐํํด ์ฃผ์ธ์. ์ ํ ์กฐ๊ฑด ์ ๋ ฅ๋ ์, num์ 1 ์ด์ 8000000 ๋ฏธ๋ง์ธ ์ ์์ ๋๋ค. ์ ์ถ๋ ฅ ์.. 2021. 6. 14. [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. ์ด์ 1 ยทยทยท 20 21 22 23 24 25 26 ๋ค์