์ธ๊ธฐ ๊ธ
-
Algorithm
[Kotlin] ๋ฐฑ์ค 2504 ๊ดํธ์ ๊ฐ ์ฝํ๋ฆฐ ํ์ด - stack
๋ฌธ์ 4๊ฐ์ ๊ธฐํธ โ(โ, โ)โ, โ[โ, โ]โ๋ฅผ ์ด์ฉํด์ ๋ง๋ค์ด์ง๋ ๊ดํธ์ด ์ค์์ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด์ด๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ค.ํ ์์ ๊ดํธ๋ก๋ง ์ด๋ฃจ์ด์ง โ()โ์ โ[]โ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด์ด๋ค.๋ง์ผย X๊ฐ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด์ด๋ฉด โ(X)โ์ด๋ โ[X]โ๋ ๋ชจ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด์ด ๋๋ค.X์ย Yย ๋ชจ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด์ด๋ผ๋ฉด ์ด๋ค์ ๊ฒฐํฉํย XY๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด์ด ๋๋ค.์๋ฅผ ๋ค์ด โ(()[[]])โ๋ โ(())[][]โ ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด์ด์ง๋ง โ([)]โ ๋ โ(()()[]โ ์ ๋ชจ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด์ด ์๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ค ์ฌ๋ฐ๋ฅธ ๊ดํธ์ดย X์ ๋ํ์ฌ ๊ทธ ๊ดํธ์ด์ ๊ฐ(๊ดํธ๊ฐ)์ ์๋์ ๊ฐ์ด ์ ์ํ๊ณ ๊ฐ(X)๋ก ํ์ํ๋ค.โ()โ ์ธ ๊ดํธ์ด์ ๊ฐ์ 2์ด๋ค.โ[]โ ์ธ ๊ดํธ์ด์ ๊ฐ์ 3์ด๋ค.โ(X)โ ์ ๊ดํธ๊ฐ์ 2ร๊ฐ(X) ์ผ๋ก ๊ณ..
-
Algorithm
[Kotlin] ๋ฐฑ์ค 14888 - ์ฐ์ฐ์ ๋ผ์๋ฃ๊ธฐ(์ฌ๊ท์์ ํ์ DFS, ๋ฐฑํธ๋ํน)
๋ฌธ์ N๊ฐ์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด A1, A2, ..., AN์ด ์ฃผ์ด์ง๋ค. ๋, ์์ ์ ์ฌ์ด์ ๋ผ์๋ฃ์ ์ ์๋ N-1๊ฐ์ ์ฐ์ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ์ฐ์ฐ์๋ ๋ง์
(+), ๋บ์
(-), ๊ณฑ์
(ร), ๋๋์
(รท)์ผ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค.์ฐ๋ฆฌ๋ ์์ ์ ์ฌ์ด์ ์ฐ์ฐ์๋ฅผ ํ๋์ฉ ๋ฃ์ด์, ์์์ ํ๋ ๋ง๋ค ์ ์๋ค. ์ด๋, ์ฃผ์ด์ง ์์ ์์๋ฅผ ๋ฐ๊พธ๋ฉด ์ ๋๋ค.์๋ฅผ ๋ค์ด, 6๊ฐ์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด์ด 1, 2, 3, 4, 5, 6์ด๊ณ , ์ฃผ์ด์ง ์ฐ์ฐ์๊ฐ ๋ง์
(+) 2๊ฐ, ๋บ์
(-) 1๊ฐ, ๊ณฑ์
(ร) 1๊ฐ, ๋๋์
(รท) 1๊ฐ์ธ ๊ฒฝ์ฐ์๋ ์ด 60๊ฐ์ง์ ์์ ๋ง๋ค ์ ์๋ค. ์๋ฅผ ๋ค์ด, ์๋์ ๊ฐ์ ์์ ๋ง๋ค ์ ์๋ค.1+2+3-4ร5รท61รท2+3+4-5ร61+2รท3ร4-5+61รท2ร3-4+5+6์์ ๊ณ์ฐ์ ์ฐ์ฐ์ ์ฐ์ ์์๋ฅผ ๋ฌด์ํ..
-
Algorithm
[Kotlin] ๋ฐฑ์ค 1978 ์์ ์ฐพ๊ธฐ
๋ฌธ์ ์ฃผ์ด์ง ์ N๊ฐย ์ค์์ย ์์๊ฐ ๋ช ๊ฐ์ธ์ง ์ฐพ์์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.์
๋ ฅ์ฒซ ์ค์ ์์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. N์ 100์ดํ์ด๋ค. ๋ค์์ผ๋ก N๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋๋ฐ ์๋ 1,000 ์ดํ์ ์์ฐ์์ด๋ค.์ถ๋ ฅ์ฃผ์ด์ง ์๋ค ์ค ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.์์ ์
๋ ฅ 1ย ๋ณต์ฌ41 3 5 7์์ ์ถ๋ ฅ 1ย ๋ณต์ฌ3ย ํ์ด์์๋ฅผ ์ฐพ๋ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ "์๋ผํ ์คํ
๋ค์ค์ ์ฒด"ย ์๋ผํ ์คํ
๋ค์ค์ ์ฒด ํต์ฌ์ "์์์ ๋ฐฐ์๋ ์์๊ฐ ์๋๋ค" ์ด๋ค.ย 1๋ถํฐ ์ต๋๊ฐ(์ฌ๊ธฐ์๋ 1000)๊น์ง ๋ฏธ๋ฆฌ ๋ชจ๋ ์์๋ฅผ ๊ตฌํด๋๋๋ค.1~N์ ์ ๊ณฑ๊ทผ๊น์ง ๋๋ฒ์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ์ต๋ N๊น์ง ์ํ๋๋ฉฐ, O(N)์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.ย ์ฝํ๋ฆฐ ํ์ด ์ฝ๋import java.util.*fun main() = with(System.`in`.bufferedReade..
-
Java, Kotlin
[Kotlin] ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์ฝํ๋ฆฐ ์๋ฃ๊ตฌ์กฐ
๋ฐฐ์ด // ๋ฐฐ์ด ์ด๊ธฐํ val array1 = arrayOf(1, 2, 3) val array2 = Array(3) {0} println(array1.joinToString()) // 1, 2, 3 println(array2.joinToString()) // 0, 0, 0 array2[0] = 1 // 0 ์ธ๋ฑ์ค์ ๊ฐ์ 1๋ก ๋ณ๊ฒฝ println(array2.joinToString()) // 1, 0, 0 // ArrayList ์์ฑ val list = ArrayList() list.add(1) list.add(2) println(list) // 1, 2ย ย ์คํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ก ๊ฐ์ง๊ณ ์์ง ์์ผ๋ฉฐ, Mu..
-
Java, Kotlin
[Spring] redis ๋ถ์ฐ ๋ฝ ์ ๋ต์ ํตํ ๋์์ฑ ์ฒ๋ฆฌ(์ ์ฐฉ์, ๋ํฐ ๋ฆฌ๋, ํฌํ
๋ฆฌ๋)
Spring๊ณผย Redis๋ฅผย ํ์ฉํย ๋์์ฑย ์ฒ๋ฆฌย ๋ฐย ๋ฐ์ดํฐย ์ผ๊ด์ฑํ๋์ย ์ ํ๋ฆฌ์ผ์ด์
์์๋ย ๋์์ฑย ์ฒ๋ฆฌ๊ฐย ์ค์ํย ์์์
๋๋ค.ย ํนํย ์ฌ๋ฌย ์ฌ์ฉ์๊ฐย ๋์์ย ๋ฐ์ดํฐ๋ฅผย ์์ ํ๊ฑฐ๋ย ์กฐํํ๋ย ํ๊ฒฝ์์ย ๋ฐ์ดํฐ์ย ์ผ๊ด์ฑ์ย ์ ์งํ๋ย ๊ฒ์ย ํฐย ๋์ ย ๊ณผ์ ๊ฐย ๋ฉ๋๋ค.ย ย ์ค์ ๋ก ๋ฌด์์ ํฌ์ธํธ(๋๋ค ํฌ์ธํธ) ์ง๊ธ ์ด๋ฒคํธ๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒฝํ์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ๊ธ์ ์์ฑํด ๋ด
๋๋ค.1.ย ๋์์ฑย ์ฒ๋ฆฌ์ย ํ์์ฑ๋์์ฑ์ด๋ย ์ฌ๋ฌย ํธ๋์ญ์
์ดย ๋์์ย ์คํ๋ ย ๋ย ๋ฐ์ํ๋ย ํ์์ผ๋ก,ย ๋ฐ์ดํฐ๋ฒ ์ด์ค์์์ย ์ฝ๊ธฐย ๋ฐย ์ฐ๊ธฐย ์์
์ย ์ถฉ๋์ย ๊ด๋ฆฌํ๋ย ๊ฒ์ดย ์ค์ํฉ๋๋ค.ย ์ด๋ฌํย ์ถฉ๋์ดย ๋ฐ์ํ๋ฉดย ๋ฐ์ดํฐ์ย ์ผ๊ด์ฑ์ดย ์ ํด๋ ย ์ย ์์ผ๋ฉฐ,ย ์ด๋ย ์ฌ์ฉ์ย ๊ฒฝํ์ย ๋ถ์ ์ ์ธย ์ํฅ์ย ๋ฏธ์น ย ์ย ์์ต๋๋ค.ย 2. Spring์์์ ํธ๋์ญ์
๊ฒฉ๋ฆฌ ์์คSpring์์๋ย ํธ๋์ญ์
์ย ๊ฒฉ๋ฆฌย ์์ค์ย ์ค์ ํ์ฌ..