๐ง๐ป๐ป iOS ๊ฐ๋ฐ/Swift - Algorithm - Solutions(16)
-
[Swift - ํ๋ก๊ทธ๋๋จธ์ค] [์นด์นด์ค ์ธํด] ๊ฒฝ์ฃผ๋ก ๊ฑด์ค
๐ต๐ป ๋ฌธ์ ํด์ ๊ฑด์ค ํ์ฌ์ ํ๊ณ์ฌ์ธ ์ฃ ๋ฅด๋๋ ๊ณ ๊ฐ์ฌ๋ก๋ถํฐ ๊ฒฝ์ฃผ๋ก ๊ฑด์ค ๊ฒฌ์ ์๋ขฐ๋ฅผ ๋ฐ์์ต๋๋ค. ๊ณ ๊ฐ์ฌ๋ก ๋ฐ์ ๊ฒฝ์ฃผ๋ก ๊ฑด์ค ๋ถ์ง์ ์ ๋ณด๋ N X N์ ๊ฒฉ์ํํ์ด๋ฉฐ ์ค๊ฐ์ค๊ฐ ๋ฒฝ์ด ์ธ์์ ธ ์๋ ๋ถ๋ถ์ 1, ๋น์ด์๋ ๋ถ์ง๋ 0์ผ๋ก ๊ตฌ์ฑ๋์ด์์์ต๋๋ค. ๊ฒฝ์ฃผ๋ก์ ์์์ ์ (0, 0) , ๋ ์ ์ (N - 1, N - 1)์ด๋ผ๊ณ ํ ๋, ๋ฒฝ์ ํผํด ์ํ์ข์ฐ๋ก ํ ์นธ์ฉ ๋๋ก๋ฅผ ์ฐ๊ฒฐ ํ์ฌ ๊ฒฝ์ฃผ๋ก๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. ๋๋ก๋ ์ธ์ ํ๊ณ ์๋ ๋น ๋ถ์ง 2๊ฐ๋ฅผ ์ฐ๊ฒฐํ์ฌ ๋ง๋ค๊ณ ์ฝ๋๋ฅผ ๋ง๋ค ๋๋ 500์, ์ง์ ๋๋ก๋ฅผ ๋ง๋ค ๋๋ 100์์ด ์ฌ์ฉ๋ฉ๋๋ค. [์ ํ ์ฌํญ] board๋ 2์ฐจ์ ์ ์ฌ๊ฐ ๋ฐฐ์ด๋ก ๋ฐฐ์ด์ ํฌ๊ธฐ๋ 3 ์ด์ 25 ์ดํ์ ๋๋ค. board ๋ฐฐ์ด์ ๊ฐ ์์์ ๊ฐ์ 0 ๋๋ 1 ์ ๋๋ค. ๋๋ฉด์ ๊ฐ์ฅ ์ผ์ชฝ ์๋จ ์ขํ๋ (0,..
2021.05.31 -
[Swift - ํ๋ก๊ทธ๋๋จธ์ค] ์ ๊ท ์์ด๋ ์ถ์ฒ
๐ต๐ป ๋ฌธ์ ํด์ ์นด์นด์ค ๊ณ์ ๊ฐ๋ฐํ์ ๋ฐฐ์น๋ ์ ์ ์ฌ์ ๋ค์ค๊ฐ ์นด์นด์ค ์๋น์ค์ ๊ฐ์ ํ๋ ์ ์ ๋ค์ด ๊ท์น์ ๋ง์ง ์๋ ์์ด๋๋ฅผ ์ ๋ ฅํ์์ ๋, ๊ท์น์ ๋ง์ถฐ ์๋ก์ด ์์ด๋๋ฅผ ์ถ์ฒํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ค๊ณ ํฉ๋๋ค. ์นด์นด์ค ์๋น์ค ์์ด๋ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์์ด๋์ ๊ธธ์ด๋ 3์ ์ด์ 15์ ์ดํ์ฌ์ผ ํฉ๋๋ค. ์์ด๋๋ ์ํ๋ฒณ ์๋ฌธ์, ์ซ์, ๋นผ๊ธฐ(-), ๋ฐ์ค(_), ๋ง์นจํ(.) ๋ฌธ์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋จ, ๋ง์นจํ(.)๋ ์ฒ์๊ณผ ๋์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๋ํ ์ฐ์์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ท์น์ ๋ง์กฑํ์ง ์๋ ์์ด๋๋ ์ด 7๊ฐ์ง์ ์์ฐจ์ ์ธ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ๊ฒ์ฌํ ํ ์๋ก์ด ์์ด๋๋ฅผ ์ถ์ฒํด ์ค ์๊ฐ์ ๋๋ค. ๋ชจ๋ ๋๋ฌธ์๋ฅผ ๋์๋๋ ์๋ฌธ์๋ก ์นํํฉ๋๋ค ์ํ๋ฒณ ์๋ฌธ์, ์ซ์, ๋นผ๊ธฐ(-), ๋ฐ์ค(_), ๋ง์นจํ(.)๋ฅผ ..
2021.05.31 -
[Swift - ํ๋ก๊ทธ๋๋จธ์ค] ์์ ๊ฒ์
๐ต๐ป ๋ฌธ์ ํด์ ์นด์นด์ค์ ํ๋ฐ๊ธฐ ๊ฒฝ๋ ฅ ๊ฐ๋ฐ์ ๊ณต๊ฐ์ฑ์ฉ์์ ์ง์์๋ค์ ์ง์์์ ์ฝ๋ฉํ ์คํธ ์ ์๋ฅผ ์ด์ฉํ์ฌ ์ฑ์ฉ์ ์ฐธ์ฌํ ๊ฐ๋ฐํ๋ค์ ๋ฌธ์ ์ฌํญ์ ๋ง๋ ์ง์์๋ค์ ์๋ฅผ ์ ๊ณตํ๋ ค๊ณ ํฉ๋๋ค. ์ง์์ ํญ๋ชฉ์ ์ด 4๊ฐ์ง, ๊ฐ๋ฐ์ธ์ด, ์ง์ ์ง๊ตฐ, ์ง์ ๊ฒฝ๋ ฅ, ์ ํธํ๋ ์์ธํธ๋๋ก ๊ตฌ์ฑ๋์ด์์ต๋๋ค. ๋ฐ๋ผ์ ์ง์์์ 4๊ฐ์ง ํญ๋ชฉ, ์ฝ๋ฉํ ์คํธ ์ ์ 1๊ฐ์ง, ์ด 5๊ฐ์ง์ ํญ๋ชฉ์ ์๋ฃ๊ตฌ์กฐ์ ์ ์ฅํ๊ณ ๋ฌธ์ ์ฌํญ๋ค์ ํ์ํ๋ฉฐ ๊ฐ๊ฐ ๊ธฐ์ค์ ์ถฉ์กฑํ๋ ์ง์์๋ค์ ์๋ฅผ ๊ตฌํ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ ๊ฒ ํ๊ธฐ์ํด Key๋ ์ง์์๊ฐ ์ถฉ์กฑํ๋ ์กฐ๊ฑด์ ์๋ฏธํ๋ String, Value๋ ํด๋น ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ง์์๋ค์ ์ ์ ๋ฐฐ์ด [Int] ํํ์ ๋์ ๋๋ฆฌ์ ์ง์์๋ค์ ์ ๋ณด๋ฅผ ์ ์ฅํด๋ณด๊ฒ ์ต๋๋ค. var dic: [String : [Int]] = [:]..
2021.05.29 -
[Swift - ํ๋ก๊ทธ๋๋จธ์ค] [3์ฐจ] ๋ฐฉ๊ธ๊ทธ๊ณก
๐ต๐ป ๋ฌธ์ ํด์ ๋ค์ค๋ ๋ผ๋์ค์์ ํ๋ฌ๋์จ ๋ ธ๋์ ๋ฉ๋ก๋์ ์ผ๋ถ๋ถ์ ๊ธฐ์ตํ๊ณ ๋ฐฉ๊ธ ๊ทธ ๊ณก์ด๋ผ๋ ์๋น์ค๋ฅผ ์ด์ฉํ์ฌ ํด๋น ๋ ธ๋์ ์ ๋ชฉ์ ์ฐพ์ผ๋ ค๊ณ ํฉ๋๋ค. ์ด๋ ๋ผ๋์ค ์ฑ๋์ ์ฌ์๋ ๋ ธ๋์ ์ ๋ชฉ, ์ฌ์ ์๊ฐ, ์ ์ฒด ๋ฉ๋ก๋ ์ ๋ณด๋ฅผ ์ด์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋ณด๋ ค ํฉ๋๋ค. ์ฃผ์ด์ง๋ ์ ๋ณด์ ์ถ๋ ฅ์๋ ๋ช ๊ฐ์ง ๊ท์น์ด ์กด์ฌํฉ๋๋ค. ๋ค์ค๊ฐ ๊ธฐ์ตํ ๋ฉ๋ก๋์ ์ ๋ณด์ ์ฌ์ฉ๋๋ ์์ C, C#, D, D#, E, F, F#, G, G#, A, A#, B 12๊ฐ์ด๋ค. ๊ฐ ์์ 1๋ถ์ 1๊ฐ์ฉ ์ฌ์๋๋ค. ์์ ์ ๋ฐ๋์ ์ฒ์๋ถํฐ ์ฌ์๋๋ฉฐ ์์ ๊ธธ์ด๋ณด๋ค ์ฌ์๋ ์๊ฐ์ด ๊ธธ ๋๋ ์์ ์ด ๋๊น ์์ด ์ฒ์๋ถํฐ ๋ฐ๋ณตํด์ ์ฌ์๋๋ค. ์์ ๊ธธ์ด๋ณด๋ค ์ฌ์๋ ์๊ฐ์ด ์งง์ ๋๋ ์ฒ์๋ถํฐ ์ฌ์ ์๊ฐ๋งํผ๋ง ์ฌ์๋๋ค. ์์ ์ด 00:00์ ๋๊ฒจ์๊น์ง ์ฌ์๋๋ ์ผ์ ..
2021.05.27 -
[Swift - ํ๋ก๊ทธ๋๋จธ์ค] [3์ฐจ] n์ง์ ๊ฒ์
๐ต๐ป ๋ฌธ์ ํด์ N์ง์ ๊ฒ์์ ์ผ์ก๊ตฌ์ฒ๋ผ ์ฌ๋๋ค์ด ๋์๊ฐ๋ฉฐ ์ซ์๋ฅผ ์ธ์น๋ ๊ฒ์์ธ๋ฐ, ์กฐ๊ธ์ ๋ค๋ฅด๊ฒ 0๋ถํฐ ์ฆ๊ฐํ๋ ์ซ์๋ฅผ N์ง์๋ก ๋ณํํ์ฌ ์์ ์ ์ฐจ๋ก์ ํด๋นํ๋ ์ซ์๋ฅผ ์ธ์น๋ ๊ฒ์์ ๋๋ค. ์ ๋ง ์ด๋ฐ ๊ฒ์์ ํ๋ ์ฌ๋์ด ์์๊น์?.. ๐จ ๋ฌดํผ n์ง๋ฒ, ๋ฏธ๋ฆฌ ์์ ์ ์ฐจ๋ก์ ์ธ์ณ์ผํ ์๋ค์ ๊ตฌํด์ผ ํ ๊ฐ์ t, ๊ฒ์์ ์ด ์ธ์์ m, ๊ทธ๋ฆฌ๊ณ ์์ ์ ์ฐจ๋ก p๊ฐ ์ฃผ์ด์ง๋ฉด, ์์ ์ ์ฐจ๋ก์ ๋ง๋ t๊ฐ์ ์๋ค์ ๋ฏธ๋ฆฌ ๊ตฌํด ๊ณต๋ฐฑ์ด ์๋ ๋ฌธ์์ด๋ก ๋ฆฌํดํ๋ ๋ฌธ์ ์์ต๋๋ค. ์ค์ํํธ์๋ ์ฃผ์ด์ง ๊ฐ์ ์์์ ์ง์๋ก ๋ณํํด์ฃผ๋ ๊ฐํธํ๊ณ ๋ ๊ฐ๋ ฅํ String ์์ฑ์๊ฐ ์์ต๋๋ค. ๋ํ 16์ง๋ฒ์ฒ๋ผ ๋ฌธ์๊ฐ ๋ฑ์ฅํ๋ ๊ฒฝ์ฐ์ uppercase ๋งค๊ฐ๋ณ์๋ฅผ true๋ก ํด์ฃผ๋ฉด, ๊ทธ ๊ฐ์ ๋๋ฌธ์๋ก ๋ฆฌํดํฉ๋๋ค. ๊ธฐ๋ณธ ๊ฐ์ ์๋ฌธ์๋ก false๋ก ๋ช ..
2021.05.27 -
[Swift - ํ๋ก๊ทธ๋๋จธ์ค] [3์ฐจ] ํ์ผ๋ช ์ ๋ ฌ
๐ต๐ป ๋ฌธ์ ํด์ ํ์ผ ์ ์ฅ์ ์๋ฒ ๊ด๋ฆฌ๋ฅผ ๋งก๊ฒ ๋ ๋ฌด์ง๊ฐ ๊ธฐ์กด์ ์ด๋ฆ ์์ผ๋ก ์ ๋ ฌ๋ ํ์ผ๋ค์ ๋ค์ ๋ณด๊ธฐ ์ข๊ฒ ์ ๋ ฌํ๋ ค๊ณ ํฉ๋๋ค. ํ์ผ๋ช ์ ํฌ๊ฒ 3 ๊ฐ์ง๋ก ๊ตฌ์ฑ๋๋๋ฐ HEAD, NUMBER, TAIL์ ๋๋ค. ๊ฐ๊ฐ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ํ์ผ๋ช ์์ ๋จผ์ HEAD๊ฐ ๋ฑ์ฅํ๋ฉฐ ๊ทธ ์ดํ 0์์ ์ต๋ 99999๊น์ง์ NUMBER๊ฐ ๋ฑ์ฅํฉ๋๋ค. ์ดํ TAIL์ด ๋ฑ์ฅํ์ง๋ง ์ ๋ ฌ๊ธฐ์ค์๋ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ์๊ฐํ์ง ์๊ฒ ์ต๋๋ค. ์ ๋ ฌ ์ฐ์ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. HEAD ๊ธฐ์ค์ผ๋ก ์ฌ์ ์์ผ๋ก ์ ๋ ฌํ๋ค. ์ด๋ ๋์๋ฌธ์๋ ๊ตฌ๋ณํ์ง ์์ต๋๋ค. HEAD๊ฐ ๋์ผํ ๊ฒฝ์ฐ, NUMBER๋ฅผ ๊ธฐ์ค ์ค๋ฆ์ฐจ์ ์ ๋ ฌํฉ๋๋ค. HEAD์ NUMBER๊ฐ ๋ชจ๋ ๋์ผํ๋ค๋ฉด, ์ ๋ ฅ์์๋๋ก ์ ๋ ฌํฉ๋๋ค. ๋ฐ๋ผ์ ํ์ผ๋ช ์ด ์ฃผ์ด์ง๋ฉด HEAD์ NUMBER ..
2021.05.25