3๏ธโฃ Swift130 [Swift Algorithm] ํ ๋งํ BOJ #7576 ๋ฌธ์ ์ค๋ช ์ฒ ์์ ํ ๋งํ ๋์ฅ์์๋ ํ ๋งํ ๋ฅผ ๋ณด๊ดํ๋ ํฐ ์ฐฝ๊ณ ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ํ ๋งํ ๋ ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ฒฉ์ ๋ชจ์ ์์์ ์นธ์ ํ๋์ฉ ๋ฃ์ด์ ์ฐฝ๊ณ ์ ๋ณด๊ดํ๋ค. ์ฐฝ๊ณ ์ ๋ณด๊ด๋๋ ํ ๋งํ ๋ค ์ค์๋ ์ ์ต์ ๊ฒ๋ ์์ง๋ง, ์์ง ์ต์ง ์์ ํ ๋งํ ๋ค๋ ์์ ์ ์๋ค. ๋ณด๊ด ํ ํ๋ฃจ๊ฐ ์ง๋๋ฉด, ์ต์ ํ ๋งํ ๋ค์ ์ธ์ ํ ๊ณณ์ ์๋ ์ต์ง ์์ ํ ๋งํ ๋ค์ ์ต์ ํ ๋งํ ์ ์ํฅ์ ๋ฐ์ ์ต๊ฒ ๋๋ค. ํ๋์ ํ ๋งํ ์ ์ธ์ ํ ๊ณณ์ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ, ์, ๋ค ๋ค ๋ฐฉํฅ์ ์๋ ํ ๋งํ ๋ฅผ ์๋ฏธํ๋ค. ๋๊ฐ์ ๋ฐฉํฅ์ ์๋ ํ ๋งํ ๋ค์๊ฒ๋ ์ํฅ์ ์ฃผ์ง ๋ชปํ๋ฉฐ, ํ ๋งํ ๊ฐ ํผ์ ์ ์ ๋ก ์ต๋ ๊ฒฝ์ฐ๋ ์๋ค๊ณ ๊ฐ์ ํ๋ค. ์ฒ ์๋ ์ฐฝ๊ณ ์ ๋ณด๊ด๋ ํ ๋งํ ๋ค์ด ๋ฉฐ์น ์ด ์ง๋๋ฉด ๋ค ์ต๊ฒ ๋๋์ง, ๊ทธ ์ต์ ์ผ์๋ฅผ ์๊ณ ์ถ์ด ํ๋ค. ํ ๋งํ ๋ฅผ ์ฐฝ๊ณ ์ ๋ณด๊ดํ๋ ๊ฒฉ์๋ชจ์์ .. 2021. 10. 2. [Swift Algorithm] ๋ฏธ๋ก ํ์ BOJ #2178 ๋ฌธ์ ์ค๋ช N×Mํฌ๊ธฐ์ ๋ฐฐ์ด๋ก ํํ๋๋ ๋ฏธ๋ก๊ฐ ์๋ค. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 ๋ฏธ๋ก์์ 1์ ์ด๋ํ ์ ์๋ ์นธ์ ๋ํ๋ด๊ณ , 0์ ์ด๋ํ ์ ์๋ ์นธ์ ๋ํ๋ธ๋ค. ์ด๋ฌํ ๋ฏธ๋ก๊ฐ ์ฃผ์ด์ก์ ๋, (1, 1)์์ ์ถ๋ฐํ์ฌ (N, M)์ ์์น๋ก ์ด๋ํ ๋ ์ง๋์ผ ํ๋ ์ต์์ ์นธ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ํ ์นธ์์ ๋ค๋ฅธ ์นธ์ผ๋ก ์ด๋ํ ๋, ์๋ก ์ธ์ ํ ์นธ์ผ๋ก๋ง ์ด๋ํ ์ ์๋ค. ์์ ์์์๋ 15์นธ์ ์ง๋์ผ (N, M)์ ์์น๋ก ์ด๋ํ ์ ์๋ค. ์นธ์ ์ ๋์๋ ์์ ์์น์ ๋์ฐฉ ์์น๋ ํฌํจํ๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ ์ ์ N, M(2 ≤ N, M ≤ 100)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ M๊ฐ์ ์ ์๋ก ๋ฏธ๋ก๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ์๋ค์ ๋ถ์ด์.. 2021. 10. 1. [Swift Algorithm] ๊ทธ๋ฆผ BOJ #1926 ๋ฌธ์ ์ค๋ช ์ด๋ค ํฐ ๋ํ์ง์ ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ ธ ์์ ๋, ๊ทธ ๊ทธ๋ฆผ์ ๊ฐ์์, ๊ทธ ๊ทธ๋ฆผ ์ค ๋์ด๊ฐ ๊ฐ์ฅ ๋์ ๊ฒ์ ๋์ด๋ฅผ ์ถ๋ ฅํ์ฌ๋ผ. ๋จ, ๊ทธ๋ฆผ์ด๋ผ๋ ๊ฒ์ 1๋ก ์ฐ๊ฒฐ๋ ๊ฒ์ ํ ๊ทธ๋ฆผ์ด๋ผ๊ณ ์ ์ํ์. ๊ฐ๋ก๋ ์ธ๋ก๋ก ์ฐ๊ฒฐ๋ ๊ฒ์ ์ฐ๊ฒฐ์ด ๋ ๊ฒ์ด๊ณ ๋๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐ์ด ๋ ๊ฒ์ ๋จ์ด์ง ๊ทธ๋ฆผ์ด๋ค. ๊ทธ๋ฆผ์ ๋์ด๋ ๊ทธ๋ฆผ์ ํฌํจ๋ 1์ ๊ฐ์์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ํ์ง์ ์ธ๋ก ํฌ๊ธฐ n(1 ≤ n ≤ 500)๊ณผ ๊ฐ๋ก ํฌ๊ธฐ m(1 ≤ m ≤ 500)์ด ์ฐจ๋ก๋ก ์ฃผ์ด์ง๋ค. ๋ ๋ฒ์งธ ์ค๋ถํฐ n+1 ์ค ๊น์ง ๊ทธ๋ฆผ์ ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋ค. (๋จ ๊ทธ๋ฆผ์ ์ ๋ณด๋ 0๊ณผ 1์ด ๊ณต๋ฐฑ์ ๋๊ณ ์ฃผ์ด์ง๋ฉฐ, 0์ ์์น ์ด ์๋ ๋ถ๋ถ, 1์ ์์น ์ด ๋ ๋ถ๋ถ์ ์๋ฏธํ๋ค) ์ถ๋ ฅ ์ฒซ์งธ ์ค์๋ ๊ทธ๋ฆผ์ ๊ฐ์, ๋์งธ ์ค์๋ ๊ทธ ์ค ๊ฐ์ฅ ๋์ ๊ทธ๋ฆผ์ ๋์ด๋ฅผ ์ถ๋ ฅํ์ฌ๋ผ. ๋จ,.. 2021. 9. 30. [Swift] ARC (1); ARC์ ๊ฐ๋ , Retain Count ์ค๋์ ARC์ ๋ํด ๊ธ์ ์์ฑํด๋ณด๋ คํ๋ค. iOS ๊ณต๋ถ๋ฅผ ํ๋ฉด์ ๋ค์ด๋ณด๊ธฐ๋ ๋ง์ด ๋ค์ด๋ดค๋๋ฐ,, ์ด์ ์์ผ ๊ณต๋ถ๋ฅผ ํ๋๊ท๋ ๐ ARC (Auto Reference Counting) ์ด๋ฐ ๊ฐ๋ ์ฉ์ด๋ค์ ์ธ์ ๋ ๊ทธ๋ ๋ฏ ์ด๋ฆ์ ๋ชจ๋ ๊ฒ์ด,,! ๋ง ๊ทธ๋๋ก '์๋ ์ฐธ์กฐ ์นด์ดํ '์ด๋ค. ํ ๋จ์ด์ฉ ๋ณด๋ฉด, ์ฐ์ ์ฐธ์กฐ๋ฅผ ์นด์ดํ ํ๋ ์ด์ ๋ ๋ญ๊น? ๐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ํจ์ผ๋ฏ ๊ทธ๋ผ ๊ทธ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์๋์ผ๋ก ํ๋ค? ๐ ํธ๋ฆฌํ๊ฒ, ์ค๋ฅ๋ฅผ ์ ๊ฒ! ํ๊ธฐ ์ํจ์ผ๋ฏ ์ด๋ ๊ฒ ์ด๋ฆ์์ ์ ์ ์๋ฏ ARC๋ ํจ๊ณผ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ํ ์ ์๊ฒ ํด์ฃผ๋ ๋๊ตฌ์ด๋ค. + ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ํํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น? ์ฑ์ ์ฑ๋ฅ์ ์ ์งํ๊ธฐ ์ํด์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๊ฐ ๊ธฐ๋ณธ์ธ๋ฐ, ๋ฉ๋ชจ๋ฆฌ๋ผ๊ณ ํ๋ฉด ํฌ๊ฒ ์คํ ์์ญ, ํ ์์ญ ๋ฑ์ด ์๋ค. ์ด ์ค ์คํ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋.. 2021. 9. 23. [Swift] ํ๋กํผํฐ ๊ฐ๋ ์ ๋ฆฌ (3); ํ์ ํ๋กํผํฐ ์ด์ ํ๋กํผํฐ ๋ง์ง๋ง ์ข ๋ฅ์ธ ํ์ ํ๋กํผํฐ์ ๋ํด ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค. ์ด๋ป๊ฒ ๋ณด๋ฉด ์ ์ฅ ํ๋กํผํฐ, ์ฐ์ฐ ํ๋กํผํฐ์ ํฌํจ๋๋ ๋ด์ฉ์ผ๋ก ๋ณผ ์๋ ์๊ฒ ๋ค. ๐ ํ์ ํ๋กํผํฐ (Type Properties) ํ์ ํ๋กํผํฐ๋ ์์ ๊ณต๋ถํ๋ ์ ์ฅ ํ๋กํผํฐ, ์ฐ์ฐ ํ๋กํผํฐ์ static๋ง ๋ถ์ด๋ฉด ๋! ์ง๊ธ๊น์ง ๊ณต๋ถํ ํ๋กํผํฐ๋ค์ ํ์ ์ ์ ์ํ๊ณ , ํด๋น ์ธ์คํด์ค๊ฐ ์์ฑ๋์์ ๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ธ์คํด์ค๋ง๋ค ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง ์ ์์๋ค. ์ผ์ข ์ ์ง์ญ๋ณ์๊ฐ์ ๊ฐ๋ .๐ฅ ํ์ง๋ง ์ด ํ์ ํ๋กํผํฐ๋ ๊ฐ๊ฐ์ ์ธ์คํด์ค๊ฐ ์๋ ํ์ ์์ฒด์! ์ํ๋ ํ๋กํผํฐ์ด๋ค. ์ธ์คํด์ค์ ์์ฑ ์ฌ๋ถ์ ๊ด๊ณ ์์ด ํ์ ํ๋กํผํฐ์ ๊ฐ์ ๋ฑ ํ๋๋ฟ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ํ๋๋ฟ์ธ ๊ฐ์ ๊ทธ ํ์ ์ ๋ชจ๋ ์ธ์คํด์ค๊ฐ ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ๊ฐ์ด๋ ๋ชจ๋ ์ธ์คํด์ค์์.. 2021. 9. 22. ์ด์ 1 2 3 4 5 6 7 8 ยทยทยท 26 ๋ค์