์๊ณ ๋ฆฌ์ฆ
215
[๋ฐฑ์ค] 2905 ํ์ค์ด์ ์ธํ๋ฆฌ ๋ฌธ์ ํ์ด java (์ฝ๊ฒ ๊ทธ๋ฆผ์ผ๋ก ์ค๋ช
^^)
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฌธ์ ์ค๋ช
์ด ์ด๋ ค์์ ๋ถ์ฐ ์ค๋ช
์ ํ๊ฒ ๋ค.N๊ฐ์ ์ธํ๋ฆฌ์ ๋๋น๊ฐ X์ธ ๋ฃฐ๋ฌ๊ฐ ์๋ค. ์ธํ๋ฆฌ์ ๊ฒฝ์ฐ ๋๋น๋ 1๋ก ๊ณ ์ ์ด๊ณ , ๋์ด๋ง 1์ฐจ์ ๋ฐฐ์ด ํ์์ผ๋ก ์ฃผ์ด์ง๋ค. ๋น์ ์ ๋ฃฐ๋ฌ๋ฅผ ํ์ฉํ์ฌ ํ์ธํธ๋ฅผ ์น ํ ๊ฒ์ธ๋ฐ, ๋๋น๊ฐ X์์ผ๋ก, X ๋๋น ๋ด์ ์ธํ๋ฆฌ๋ ํ ๋ฒ์ ์น ํ๊ฒ ๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ ์ค์ํ ์กฐ๊ฑด์ ๋ค์๊ณผ ๊ฐ๋ค.(1) ๋ฃฐ๋ฌ์ ๋ถ๋ถ์ด ํ๊ณต์ ๋ฟ์ผ๋ฉด ์๋๋ค.์ผ์ชฝ๊ณผ ๊ฐ์ด ์ผ๋ จ์ ์ธํ๋ฆฌ๊ฐ ์ฃผ์ด์ง๋ค๋ฉด, ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ ํ
๋๋ฆฌ ์ ์ชฝ๋ง ๋กค๋ฌ๋ฅผ ๋๋ ค ์น ํ ์ ์๋ค๋ ๋ง์ด๋ค. ์ฆ ๋กค๋ฌ ๋๋น X ๋ด์ ์ ์ผ ์์ ์ธํ๋ฆฌ๊ฐ ์์น ์ ๊ธฐ์ค์ด ๋๋ค.(2) ์น ํ๋ฐ๋ ๋ ์น ํ ์ ์๋ค.๋ค์๊ณผ ๊ฐ์ด ๋กค๋ฌ์ ๋๋น๊ฐ 3์ผ ๋, ์ฒ์ ๋ง๋ฑ๋จ๋ฆฌ๋ ๊ตฌ๊ฐ์์๋ ์ต๋๋ก ์น ํ ์ ์๋ ๋์ด๊ฐ 1์ผ ๊ฒ์ด๋ค.๋กค๋ฌ๋ฅผ ํ ์นธ ์ฎ๊ธฐ..
00:58:43
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] ๋ ์ฉ์ก java ์ฌ์ด ํ์ด^^
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ์ฉ์ก๋ง๋ค ํน์๊ฐ์ด ์กด์ฌ๋ ์ฉ์ก์ ๊ณจ๋ผ์ ๋์ ํน์ ๊ฐ์ ํฉํ์ ๋, ๊ทธ ํฉ์ด 0์ ๊ฐ์ฅ ๊ฐ๊น์ด ์กฐํฉ์ ๊ตฌํ์ฌ๋ผ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: Two way Two pointer์ฉ์ก์ ํน์๊ฐ์ 1์ฐจ์ ๋ฐฐ์ด์ ์
๋ ฅ๋ฐ๊ณ , ํด๋น ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.index = 0์ L ํฌ์ธํฐ, index = N-1์ R ํฌ์ธํฐ๋ฅผ ๋๋คL+R > 0 ์ผ ๊ฒฝ์ฐ, R ํฌ์ธํฐ๋ฅผ ํ ์นธ ํ์ง ์์ผ์ ํฉ์ ํํฅ์กฐ์ ํ๋ค.L-R ์ผ ๊ฒฝ์ฐ, L ํฌ์ธํฐ๋ฅผ ํ ์นธ ์ ์ง ์์ผ์ ํฉ์ ์ํฅ์กฐ์ ํ๋ค.0์ ๊ฐ๊น์ด ๊ฐ์ ๊ตฌํด์ผํจ์ผ๋ก, ๋ ์ฌ์ด์ ํฉ์ ์ ๋๊ฐ์ด ์ต์์ธ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค.(์๋ํ๋ฉด, ๋ ํฌ์ธํฐ ์ฌ์ด์ ํฉ์ ์ ๋๊ฐ์ด ์ปค์ง์๋ก 0์์ ๋ฉ์ด์ง๊ธฐ ๋๋ฌธ์ด๋ค.)(1) ๋จ๋ฑกํญ ํฌ ํฌ์ธํฐ๋ก ๋ต์ ๊ตฌํ ์ ์๋ ..
2024.12.23
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 2003 ์๋ค์ ํฉ2 ์ฌ์ด ํ์ด java ^^
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: one-way Two pointer๋จ๋ฐฉํฅ ํฌ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ๋ ์ ํ์ ์ธ ๋ฌธ์ ์ด๋ค. ์ผ์ชฝ ํฌ์ธํฐ(L)๊ณผ ์ค๋ฅธ์ชฝ ํฌ์ธํฐ(R)์ ๋๋ค. ํด๋น ๊ตฌ๊ฐ ๋ด ์๋ค์ ํฉ์ sum์ด๋ผ ํ๊ฒ ๋ค.sum : R ํฌ์ธํฐ๋ฅผ ์ ์ง์ํจ๋ค.sum >= M: L ํฌ์ธํฐ๋ฅผ ์ ์ง์ํจ๋ค. (๋ง์ฝ sum == M์ด๋ฉด ๋ต์ด ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ +1 ์ฌ๋ฆฐ๋ค.)๊ตฌ๊ฐ ๋ด์ ํฉ์ ๊ตฌ๊ฐ ๋ด์ ๊ฐ์ด ์์ ํ๋์ธ ๊ฒฝ์ฐ๋ ํฌํจํ๋ค. ๋ฐ๋ผ์ arr[0] == M ์ธ ๊ฒฝ์ฐ๋ ์์ธ ์์ด ๊ณ์ฐ์ ํฌํจ๋๋๋ก ํด์ค์ผ ํ๋ค.๋๋ 3๋ฒ์ ๊ท์น์ ์งํค๊ธฐ ์ํด ๋ฐฐ์ด์ N+1๋ก ๋ง๋ค์ด ๊ฐ๋ค์ 1๋ถํฐ ์ฑ์ฐ๊ณ , ํฌ์ธํฐ๋ค์ 0๋ถํฐ ์์ํ๋๋ก ํ์๋ค.3. ์ฝ๋ ์๊ฐ ๐import java.io.*;import java..
2024.12.23
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
ํฌ ํฌ์ธํฐ ๊ฐ๋
๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ค๋ช
^^
0. ๊ธ์ด ํ๋ฌ๊ฐ๋ ๋ฐฉํฅ๋จผ์ ๊ฐ๋
์ค๋ช
์ ํ๊ณ , ํฌ ํฌ์ธํฐ๋ฅผ ํ์ฉํ๋ ๋ํ์ ์ธ ๋ฌธ์ 2๊ฐ๋ฅผ ์ง์ ํ์ด๋ณด๋ฉฐ, ๊ฐ๋
์ ๋ํ ๋ณด์ถฉ์ ํ๊ฒ ๋ค.1. ๊ฐ๋
1์ฐจ์ ๋ฐฐ์ด์ ๋ ๊ฐ์ ํฌ์ธํฐ๋ฅผ ๋๊ณ , ๋ ํฌ์ธํฐ์ ์๋ฏธ๋ฅผ ๋ถ์ฌํ์ฌ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ธฐ์ ๋ฐฐ์ด ์์์ ํน์ ์กฐ๊ฑด์ ๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ์์, ์ผ๋ฐ์ ์ผ๋ก ์๊ฐ ๋ณต์ก๋๊ฐ O((N^{2}))๊ฐ ๋ ๋ค๋ฉด, ํฌ ํฌ์ธํฐ ๊ธฐ๋ฒ์ ํ์ฉํ๋ฉด ์๊ฐ ๋ณต์ก๋๋ฅผ O(N)์ผ๋ก ์ค์ผ ์ ์๋ค. (์ด์ ๋ ํ์ฉ์ ์ดํด๋ณด๋ฉฐ ์ค๋ช
ํ๊ฒ ๋ค.)(1) ์ ํํฌ ํฌ์ธํฐ๋ฅผ ์ด์ฉํ๋ ์ ํ์๋ ํฌ๊ฒ 2๊ฐ์ง๊ฐ ์๋ค.a.๋จ๋ฐฉํฅ ์ด์ฉL ํฌ์ธํฐ์ R ํฌ์ธํฐ๊ฐ ํ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ง ์์ง์ด๋ ๊ฒ์ด๋ค. ์ฌ๋ผ์ด๋ฉ ์๋์ฐ์ ์๋์ ์๋ฏธํ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. ์ฌ๋ผ์ด๋ฉ ์๋์ฐ์ ๋ค๋ฅธ ์ ์ ํฌ์ธํฐ์ ๋ฐ๋ผ ๊ตฌ๊ฐ์ ๊ธธ์ด๊ฐ ๊ฐ๋ณ์ ์ด๋ผ๋ ๊ฒ์ด๋ค.b. ์๋ฐฉํฅ ์ด..
2024.12.23
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
[๋ฐฑ์ค] 1306 ๋ฌ๋ ค๋ผ ํ์ค java ์ฌ์ด ํ์ด (๊ทธ๋ฆผ์ผ๋ก ์ค๋ช
^^)
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ์ผ๋ฐ์ ์ธ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ์์ ๊ตฌ๊ฐ ๋ด ์ต๋๊ฐ์ ๋ฐํํ๋ผ๋ ์กฐ๊ฑด์ด ์ถ๊ฐ๋์๋ค.2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: Sliding Window, Data Structure(Deque)(1) ์ฝ๋ ๊ตฌํ ์์์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ฅผ deque๋ก ๊ตฌํํ๋ค.๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ (์ต๋๊ฐ = peek())์ฌ๋ผ์ด๋ฉ ์๋์ฐ์์ ๋น ์ ธ๋๊ฐ๋ ๊ฐ์ deque์์๋ ๋๊ฐ์ด ์ ๊ฑฐrear > ์ ๊ท๊ฐ: ์ ๊ท๊ฐ์ deque์ ์ถ๊ฐํ๋ค.rear : rear๋ฅผ poll ํ๋ค. (์ด๋ rear > ์ ๊ท๊ฐ์ด ๋ ๋๊น์ง ๋ฐ๋ณต)0~2M-1์ ํด๋นํ๋ ๊ฐ๋ค์ ๋ํด ๋จผ์ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ฅผ ์งํํ๋ค.M ~ N-M๊น์ง ์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ฅผ ์งํํ๋ค. ์งํํ๋ฉฐ, ๋น์ ์ต๋๊ฐ์ StringBuilder์ ์ถ๊ฐํ๋ค.(2) ํด์คํด๋น ๋ฌธ์ ๋ i๋ผ๋..
2024.12.21
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 11003 ์ต์๊ฐ ์ฐพ๊ธฐ java ํ์ด (๊ทธ๋ฆผ์ผ๋ก ์ฌ์ด ์ค๋ช
^^)
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ์ฌ๋ผ์ด๋ฉ ์๋์ฐ์์ ๋ ๋์๊ฐ์, ์๋์ฐ ๊ตฌ๊ฐ์์ ์ต์๊ฐ์ ๋งค๋ฒ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ด๋ค.2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: Sliding Window, Data Structure (Deque)ํ์ด์ฌ์์๋ ์ถ๊ฐ์๊ฐ์ด ์ฃผ์ด์ค์ ์ฐ์ ์์ ํ๋ฅผ ์ด์ฉํด๋ ํ๋ฆฌ์ง๋ง, Java์์๋ ํ๋ฆฌ์ง ์๋๋ค. ์ ์ฐ์ ์์ ํ๋ก๋ ์๋๋์ง์ ๋ํด 4๋ฒ ํญ๋ชฉ์์ ์ค๋ช
ํ๊ฒ ๋ค.(1) ์ ์ฒด ์ ๊ทผ ๋ฐฉ์ArrayDeque๋ก ์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ฅผ ๊ตฌํํ๋ค.(ํด๋น deque๋ ํ์ฌ ๊ตฌ๊ฐ์ธ ๊ฐ๋ค๋ง ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ค๋ฆ์ฐจ์์ผ๋ก ๊ฐ์ ์์๋ฅผ ์ ์งํ๋ค. (front = ์ต์๊ฐ))์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ์ฉ ์์ง์ธ๋ค.๊ตฌ๊ฐ์ ์ ๊ท๋ก ์ถ๊ฐ๋ ๊ฐ์ A๋ผ๊ณ ์ณค์ ๋, A์ deque์ rear(๊ผฌ๋ฆฌ)๋ฅผ ๋น๊ตํ๋คrear > A:..
2024.12.21
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
์ฌ๋ผ์ด๋ฉ ์๋์ฐ์ ๋ํ์ฌ
0. ์์๋ณผ ๊ฒ1. ์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋?๊ธธ์ด๊ฐ N์ธ 1์ฐจ์ ๋ฐฐ์ด์์ ๊ธธ์ด๊ฐ W์ธ ์์ง์ด๋ ๊ตฌ๊ฐ์ ์์ฑํ์ฌ, ํด๋น ๊ตฌ๊ฐ์ ํ ์นธ์ฉ ์์ง์ด๋ฉด์ ๊ตฌ๊ฐ ๋ด ์ ๋ณด๋ฅผ ์ถ์ถํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ธฐ์ (N๊ณผ W๋ ์์)W์ธ ๊ตฌ๊ฐ์ ์์ง์ด๋ ๊ฒ์ด ๋ง์น ์ฐฝ๋ฌธ์ ๋ฐ๊ณ ๋น๊ธฐ๋ ๊ฒ๊ณผ ๊ฐ๋ค๊ณ ํ์ฌ, ์์ง์ด๋ ๊ตฌ๊ฐ์ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ผ๊ณ ๋ช
๋ช
ํจ.2. ํ์ฉ(1) ๊ตฌ๊ฐํฉ1์ฐจ์ ๋ฐฐ์ด์์ ํน์ ๊ตฌ๊ฐ ๋ด์ ํฉ์ ์ํ๋ ๋ฌธ์ ์์ ํ์ฉ.a. ์ด๋ป๊ฒ ํ์ฉ?๋ฐฐ์ด์ ๊ธธ์ด๊ฐ N, ์ฌ๋ผ์ด๋ฉ ์๋์ฐ์ ๊ธธ์ด๊ฐ W์ด๊ณ ํด๋น ์ฐฝ๋ฌธ์ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ์ฉ ์์ง์ธ๋ค๋ฉด, ๋งค ์์ง์ ๋ง๋ค, ์ด์ ์์น์์์ W-1์ ์์๋ ๋ณํ์ง ์๊ณ ๊ตฌ๊ฐ ๋ด์ ์ ์ง๋๋ค. ์๋ฅผ ๋ค์ด N = 10, W = 3์ด๋ผ ๊ฐ์ ํ๋ฉด,๊ทธ๋ฆผ๊ณผ ๊ฐ์ด W-1์ธ 2๊ฐ์ ์์๋ ๋ณํ์ง ์์๋ค.์ด๋ฅผ ํ์ฉํด, ๋งจ ์ฒ..
2024.12.20
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
[๋ฐฑ์ค] 3020 ๊ฐ๋ฅ๋ฒ๋ java ์๋ฒฝ ํ์ด!
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: ๋์ ํฉ, ์ด๋ถ ํ์๋๊ตด์ ๋์ด์ธ H์ ๊น์ด์ธ N์ด ๊ฐ๊ฐ \(10^{5}\)์ด๋ฏ๋ก, ์์ ํ์์ผ๋ก ํ๋์ ํ๋ง๋ค ๋ชจ๋ ์ด์ ์กฐํํ๋ค๋ฉด 1์ด์ \(10^{10}\)๋ฒ ์ด์์ ์ฐ์ฐ์ ํด์ผํด์ ์๊ฐ ์ด๊ณผ๊ฐ ๋ ๊ฒ์ด๋ค.ํด๋น ๋ฌธ์ ๋ *๊ฑฐ๊พธ๋ก ๋งค๋ฌ๋ ค ์๋ ์ข
์ ์์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ๊ฒ์ธ๊ฐ?* ์ ๋ํ ๋ช
ํํ ๊ฐ์ด๋๋ผ์ธ๋ง ๊ณํํ ์ ์๋ค๋ฉด ํ ์ ์๋ ๋ฌธ์ ์ด๋ค. ์ข
์ ์ ์ฒ๋ฆฌ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ํ ์ ์๋๋ฐ, ํ๋๋ ๋์ ํฉ์ด๊ณ ๋ค๋ฅธ ํ๋๋ ์ด๋ถ ํ์์ด๋ค.(1) ๋์ ํฉa. ๊ฒฐ๋ก ๋จผ์ 1. "์์๊ณผ ์ข
์ ์ ์
๋ ฅ์ ๋ถ๋ฅํ์ฌ Y์ถ ์์น์ ๋ฐ๋ฅธ ๊ฐ ์ฐ๋ฌผ์ ์์น๋ฅผ ์ ์ฅํ๋ ๋ฐฐ์ด ๊ตฌํ"2. "๊ฐ ๋ฐฐ์ด์ ๋์ ํฉ ๊ตฌํ๊ธฐ (์์ ๋์ ํฉ ๋ฐฐ์ด์ sum_S[i], ..
2024.12.19
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด