์ธ๊ธฐ ๊ธ
-
Programming problems
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฝ๋ฉํ
์คํธ ์์ '์ฌ์น์ฐ์ฐ' Solution in Swift
๋ฌธ์ ์ถ์ฒ ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ์ฌ์น์ฐ์ฐ [5, -, 3, +, 1, +, 2, -, 4] 3 programmers.co.kr ๋ฌธ์ ์ฌ์น์ฐ์ฐ์์ ๋ํ๊ธฐ(+)๋ ๊ฒฐํฉ๋ฒ์น์ด ์ฑ๋ฆฝํ์ง๋ง, ๋นผ๊ธฐ(-)๋ ๊ฒฐํฉ๋ฒ์น์ด ์ฑ๋ฆฝํ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ 1 - 5 - 3์ ์ฐ์ฐ ์์์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๋๋ค. ((1 - 5) - 3) = -7 (1 - (5 - 3)) = -1 ์ ์์์ ๊ฐ์ด ๋บ์
์ ์ฐ์ฐ ์์์ ๋ฐ๋ผ ๊ทธ ๊ฒฐ๊ณผ๊ฐ ๋ฐ๋ ์ ์์ต๋๋ค. ๋ ๋ค๋ฅธ ์๋ก ์ 1 - 3 + 5 - 8์ ์ฐ์ฐ ์์์ ๋ฐ๋ผ ๋ค์๊ณผ ๊ฐ์ด 5๊ฐ์ง ๊ฒฐ๊ณผ๊ฐ ๋์ต๋๋ค. (((1 - 3) + 5) - 8) = -5 ((1 - (3 + 5)) - 8) = -15 (1 - ((3 + 5) - 8)) = 1 (1 - (3 + (5 - ..
-
Programming problems
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฝ๋ฉํ
์คํธ ์์ 'N์ผ๋ก ํํ' Solution in Swift
๋ฌธ์ ์ถ์ฒ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์
๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์
๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ์๋์ ๊ฐ์ด 5์ ์ฌ์น์ฐ์ฐ๋ง์ผ๋ก 12๋ฅผ ํํํ ์ ์์ต๋๋ค. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5๋ฅผ ์ฌ์ฉํ ํ์๋ ๊ฐ๊ฐ 6,5,4 ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ค ๊ฐ์ฅ ์์ ๊ฒฝ์ฐ๋ 4์
๋๋ค. ์ด์ฒ๋ผ ์ซ์ N๊ณผ number๊ฐ ์ฃผ์ด์ง ๋, N๊ณผ ์ฌ์น์ฐ์ฐ๋ง ์ฌ์ฉํด์ ํํ ํ ์ ์๋ ๋ฐฉ๋ฒ ์ค N ์ฌ์ฉํ์์ ์ต์๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์. ์ ํ์ฌํญ N์ 1 ์ด์ 9 ์ดํ์
๋๋ค. number๋..
-
Programming problems
[ํ๋ก๊ทธ๋๋จธ์ค] 2020 KAKAO BLIND RECRUITMENT Coding Test ๋ธ๋ญ ์ด๋ํ๊ธฐ Solution in Swift
๋ฌธ์ ์ถ์ฒ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์
๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์
๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ๋ก๋ด๊ฐ๋ฐ์ ๋ฌด์ง๋ ํ ๋ฌ ์์ผ๋ก ๋ค๊ฐ์จ ์นด์นด์ค๋ฐฐ ๋ก๋ด๊ฒฝ์ง๋ํ์ ์ถํํ ๋ก๋ด์ ์ค๋นํ๊ณ ์์ต๋๋ค. ์ค๋น ์ค์ธ ๋ก๋ด์ 2 x 1 ํฌ๊ธฐ์ ๋ก๋ด์ผ๋ก ๋ฌด์ง๋ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง N x N ํฌ๊ธฐ์ ์ง๋์์ 2 x 1 ํฌ๊ธฐ์ธ ๋ก๋ด์ ์์ง์ฌ (N, N) ์์น๊น์ง ์ด๋ ํ ์ ์๋๋ก ํ๋ก๊ทธ๋๋ฐ์ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ก๋ด์ด ์ด๋ํ๋ ์ง๋๋ ๊ฐ์ฅ ์ผ์ชฝ, ์๋จ์ ์ขํ๋ฅผ (1, 1)๋ก ํ๋ฉฐ ์ง๋ ๋ด์ ํ์๋ ์ซ์ 0์ ๋น์นธ์ 1์ ๋ฒฝ์ ๋ํ๋
๋๋ค. ๋ก๋ด์ ๋ฒฝ์ด ์๋ ์นธ ๋๋ ์ง๋ ๋ฐ์ผ๋ก๋ ์ด๋ํ ์ ์์ต๋๋ค. ๋ก๋ด์ ์ฒ..
์ต์ ๊ธ
-
Information
[Hackintosh] Smalltree.kext ์๋ ์ํ๋ ์ด์ ํด๊ฒฐ๋ฐฉ๋ฒ (Opencore, macOS 12)
* ํ๊ฒฝ์ ๋ฐ๋ผ ๋ฐฉ๋ฒ์ด ๋ฌ๋ผ์ง ์ ์์ผ๋ ์ฐธ๊ณ ํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. * ์ด ๊ธ์ ๋ด์ฉ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํดํจํ ์๋ฅผ ๋ค๋ฃจ๋ ๊ธ๋ก ๋
์์ ํ๋์ ๋ํ ์ด๋ค ์ฑ
์๋ ์ง์ง ์์ต๋๋ค. * ๋ง์ผ์ ๋๋นํด ๋ฐ์ดํฐ๋ ๋ฐฑ์
๋๋ ์์ ํ ๊ณณ์ ๋ณด๊ดํ์๊ธฐ ๋ฐ๋๋๋ค. macOS Monterey ๋ถํฐ smallTree kext ๊ฐ ์๋ ์ํ๋ ์ด์๊ฐ ์์ต๋๋ค. ํฌ๋ผ์ ์ฐพ์๋ณธ ๊ฒฐ๊ณผ ๋ช๊ฐ์ kext๋ฅผ install ํด์ฃผ๋ฉด ๋ค์ ์๋ํฉ๋๋ค. ์ ๋ i211 ์ธํ
์นฉ์ ๊ฐ์ง Aorus X570 Elite ๋ง๋๋ณด๋๋ฅผ ์ฌ์ฉํ๊ณ ์๊ณ ๋ค๋ฅธ ์นฉ์ด๋ ๋ค๋ฅธ ์ ์กฐ์ฌ ๋ง๋๋ณด๋์ ๊ฒฝ์ฐ ํด๊ฒฐ๋์ง ์์ ์ ์์ต๋๋ค. ์ค๋น 1. ํ์ kexts 2. kext installer ์ ํ์ผ๋ค์ ๋ค ๋ค์ด๋ก๋ ํด์ค๋๋ค. 1. kext installer ๋ฅผ ์ํ ์ธํ
1.1 c..
-
Algorithm
[Greedy] Floyd Algorithm
ํ๋ก์ด๋ ์๊ณ ๋ฆฌ์ฆ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์
๋๋ค. ํ ๋
ธ๋๋ฅผ ๊ณ ์ ์ํค๊ณ ๋๋จธ์ง ๋
ธ๋๋ค์ ๊ฒฝ๋ก์ ๊ธฐ์กด ๊ฐ๊ณผ ๊ณ ์ ๋
ธ๋๋ฅผ ํตํ ๊ฐ์ ๋น๊ตํ๊ณ ์์ ํฉ๋๋ค. ๋ชจ๋ ๋
ธ๋๋ฅผ ๊ฑฐ์น๋ฉด ์๋ฃ๋ฉ๋๋ค. Ak[i,j] = min ( Ak-1[i,j] , Ak-1[i,k] + Ak-1[k,j] ) ex) A0 N1 N2 N3 N4 N1 0 7 โ 3 N2 2 0 โ โ N3 5 1 0 โ N4 8 โ 2 0 A1 = 1 ๊ณ ์ (1ํ & 1์ด & ๋๊ฐ ๊ณ ์ ) ๋ค๋ฅธ ๋
ธ๋๋ค์ ๊ธฐ์กด ๊ฐ๊ณผ ๋
ธ๋1์ ๊ฑฐ์ณ๊ฐ๋ ๊ฒฝ์ฐ๋ฅผ ๋น๊ต A1[2,3] = min( A0[2,3], A0[2,1] + A0[1,3] ) = min( โ, 2 + โ ) = โ A1[2,4] = min( A0[2,4], A0[2,1] + A0[1,4] ) = min( โ, 2 +..
-
Algorithm
[Greedy] Dijkstra Algorithm
๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์
๋๋ค. { ์ต์๊ฑฐ๋ฆฌ ๋
ธ๋ ๊ณ ์ , ๊ณ ์ ๋์ง ์์ ๋
ธ๋๋ค์ ๊ฑฐ๋ฆฌ๋ฅผ ์์ } ์ ๋ฐ๋ณตํฉ๋๋ค. ex) start A -> A 0 ๊ณ ์ A B C D E F 0 4 2 โ โ โ -> C 2 ๊ณ ์ , ๋๋จธ์ง ์์ A B C D E F 0 3 2 9 โ โ -> B 3 ๊ณ ์ , ๋๋จธ์ง ์์ A B C D E F 0 3 2 9 6 โ -> E 6 ๊ณ ์ , ๋๋จธ์ง ์์ A B C D E F 0 3 2 8 6 11 -> D 8 ๊ณ ์ , ๋๋จธ์ง ์์ A B C D E F 0 3 2 8 6 9 -> F 9 ๊ณ ์ A B C D E F 0 3 2 8 6 9