์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
208
Programmers K์ง๋ฒ์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ java ์ฌ์ด ํ์ด^^
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์ํด๋น ๋ฌธ์ ๋ ๋ฌธ์ ์์ ํ๋ผ๋ ๋๋ก๋ง ํ๋ฉด ๋๋ค.(1) ๋ฐ์ ์ซ์๋ฅผ N์ง๋ฒ์ผ๋ก ๋ณํํ๋ค.๋ฌธ์ ๋ฅผ ํ๋ ๋น์์๋ Integer.toString(n, radix) ๋ผ๋ ๋ฌธ๋ฒ์ ์์ง ๋ชปํ๋ค. ํด๋น ๋ฌธ๋ฒ์ n์ 2๋ฒ์งธ ์ธ์์ธ radix์ง๋ฒ์ผ๋ก ๋ณํํด์ String์ผ๋ก ๋ฐํํ๋ค. Integer.toString(n,2)์ด๋ฉด n์ 2์ง๋ฒ์ผ๋ก ๋ฐํํด์ String ๊ฐ์ผ๋ก ๋ฐํํ๋ ๊ฒ์ด๋ค.์ด ๋ฌธ๋ฒ์ ๋ชฐ๋ผ์, ์ง์ ๋ฐํํ๋ค.๋ฐํ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.๋ฐ๊พธ๋ ค๋ ์๋ฅผ n, ์ง๋ฒ์ radix๋ผ๊ณ ํ ๋, n%radix == 0 ์ด ๋ ๋๊น์ง n์ radix๋ก ๋๋๋ค.์ด๋ ๋๋จธ์ง ๊ฐ์ ์ ์ฅํ๊ณ ์๋๋ค.๋๋์ด n%radix == 0 ์ด ๋๋ฉด ์ง๊ธ๊น์ง ๋์๋ ๋๋จธ์ง๋ค์ ์ญ์์ผ๋ก ์ค ์ธ์ด๋ค.์์ธํ ๋ณํ..
2024.08.07
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 2667_๋จ์ง๋ฒํธ ๋ถ์ด๊ธฐ java ์ฌ์ด ํ์ด!
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์KEY WORD: BFS2์ฐจ์ ๋ฐฐ์ด์ ๊ฐ์ ๋ด๋๋ค.๋ฒํธ ๋ณ๋ก ์๋ฏธ๊ฐ ์๋ค. (0 = ๋ฒฝ, 1 = ๋ฏธ๋ฐฉ๋ฌธํ ์ํํธ ๋จ์ง, 2 = ๋ฐฉ๋ฌธํ ๋จ์ง)(1) 2์ฐจ์ ๋ฐฐ์ด์ ์ํํ๋ค๊ฐ ๊ฐ == 1์ธ ๊ฒ์ ๋ง๋๋ฉด, ํด๋น ๊ฐ์ ์์์ผ๋ก BFS๋ฅผ ๋๋ฆฐ๋ค. ํ์ฌ ๊ฐ์ ์ฌ๋ฐฉ์ ํ์ํ๋ค. ์ฌ๋ฐฉ์ ๊ฐ ์ค 1์ธ ๊ฐ์ด ์์ผ๋ฉด ํ์ ๋ฃ๊ณ , ํด๋น ์์น์ ๊ฐ์ 2๋ก ๋ฐ๊พผ๋ค. ํ๊ฐ ๋น ๋ ๊น์ง (๋ ์ด์ ์ฌ๋ฐฉ ํ์์ ํด๋ ๊ฐ = 1์ด ์ ๋์ฌ ๋ ๊น์ง) ๋ฐ๋ณตํ๋ค.(2) 1๋ฒ์ ์ฒซ ์กฐํ์์ ๋ง๋ ์ํํธ์ ์ํํธ ๋จ์ง ์ ์ฒด๋ฅผ ํ๋ฒ์ ๋ณด๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ 1๋ฒ์ ๋ฐ๋ณต ํ์๊ฐ ๊ณง ์ํํธ์ ๊ฐ์์ด๋ค.(3) ์ํํธ ๋จ์ง๋ฅผ ๋จ์ง๋ด ์ํํธ์ ๊ฐ์์ ๋ฐ๋ผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค. 3. ์ฝ๋ ๋ถ์import java.i..
2024.08.06
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99 ํด๋ฝ ์ฝํ
์คํฐํฐ 16์ผ์ฐจ TIL + ํ๋ก๊ทธ๋๋จธ์ค N-queen java ์ฌ์ด ํ์ด!
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์KEY WORD : BACK-TRACKING(0) ์ฌ์ ์ธํ
1์ฐจ์ ๋ฐฐ์ด(arr)์ n์ ํฌ๊ธฐ๋งํผ ๋ง๋ค๊ณ ๋ฐฐ์ด์ index = ํ , ๋ฐฐ์ด์ value = ์ด๋ก ์๊ฐํ๋ค.์๋ฅผ ๋ค์ด ๋ฐฐ์ด์ด ๋ค์๊ณผ ๊ฐ์ ๋, ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๋ฉด ์ด๋ ๊ฒ ๋๋ค.index(ํ)0123value(์ด)1302(1) ๋ง์ฝ์ arr[i] = j ๋ผ๊ณ ํ๋ค๋ฉด 2์ฐจ์ ๋ฐฐ์ด [i] [j] ์ ํธ์ ๋๊ฒ ๋ค๋ ์๋ฆฌ์ด๋ค. ์ด๊ฒ ๊ฐ๋ฅํ์ง ์ฒดํฌํ๋ค. ์ฒดํฌํ๋ ๋ฐฉ๋ฒ์0 ~ i-1 ๊น์ง์ ๋ฐฐ์ด ๊ฐ์ ์ด์ฉํด, ์ด์ ์ ๋๋ ํธ์ ๊ณต๊ฒฉ ๊ฒฝ๋ก์ ๊ฒน์น๋์ง ํ์ธํ๋ฉด ๋๋ค. ํ์ธ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.(1-1) ์ขํ๋จ ํ์ธ๋๊ฐ์ ์ด ์ผ์นํ๋ ๊ฐ๋ค์ ๋ชจ๋ ํ+์ด์ ํฉ์ด ๊ฐ๋ค. ์ด๋ฅผ ์ด์ฉํ๋ค. ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ๋ index๊ฐ ํ์ด๊ณ value๊ฐ ์ด..
2024.08.06
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99 ํด๋ฝ ์ฝํ
์คํฐํฐ 15์ผ์ฐจ TIL + ํ๋ก๊ทธ๋๋จธ์ค ์์ ์ฐพ๊ธฐ java
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์KEY WORD: ๋ธ๋ฃจํธ ํฌ์ค(1) ๋ฌธ์์ด๋ก ๋ฐ์ ์ซ์๋ฅผ ํ ์๋ฆฟ์๊ฐ ๋๊ฒ ๋๋์ด์ ๋ฐฐ์ด์ ์ ์ฅํ๋ค.(2) ์ ์ฒด ์ซ์๊ฐ n๊ฐ๋ผ๋ฉด ๊ทธ ์ค k๊ฐ๋ฅผ ๋ฝ์์ ๋์ดํ๋ค. (์์ด, k = 1 ~ n )(3) ๋์ด๋ k๊ฐ์ ์๋ฅผ ํฉ์ณ์ ํ๋์ ์ซ์๋ก ๋ง๋ค๊ณ , ์์ ํ๋ณํ๋ค. (์์ ํ๋ณ๋ฒ ์ด์ฉ)(4) ์์ ํ๋ณ์ด ํ์ ๋๋ฉด ํด๋น ์๊ฐ ์ด์ ์ ๋์๋์ง, hashSet์ผ๋ก ์ฒดํฌํ๋ค. ์์ผ๋ฉด, ์์์ ๊ฐ์๋ฅผ +1 ์ฌ๋ฆฐ๋ค. โป์ถ์ โป(1)๋๋ ํ์๋ฆฌ ์๋ฅผ ํฉ์น๋ ๊ฒ์ ์๋์ ์ * 10 + ์๋ก ๋ค์ด์จ ํ ์๋ฆฌ ์๋ก ๊ทธ๋ ๊ทธ๋ ๋ฐ๋ก ํ๋ค.(2)์์ ํ๋ณ๋ฒ์ ๋ชจ๋ฅธ๋ค๋ฉด, ์ ๋ฆฌ ์ ํ ์ฌ๋ ๋งํฌ๋ฅผ ๋ณด๊ณ ์ค๊ธฐ ๋ฐ๋๋ค. ํด๋น ๋งํฌ์์๋ ์ n์ ์ ๊ณฑ๊ทผ๊น์ง๋ง ๋๋ ์ ํ์ธํ๋ฉด ๋๋์ง ๋์์๋ค.(3)์..
2024.08.06
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 13์ผ์ฐจ TIL + Programmers ์
๊ตญ ์ฌ์ฌ๋ java
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์KEY WORD: ์ด๋ถ ํ์๋ฌด์์ ๊ธฐ์ค ์ผ๋ก ์ด๋ถํ์์ ํด์ผํ ๊น?์ด๋ถ ํ์ ๋ฌธ์ ๋ฅผ ํ ๋, ์ ์ผ ์ด๋ ค์ด ๋ถ๋ถ์ด๋ค. ์ด๋ ค์ด ๋ฌธ์ ์ผ์๋ก ๋ฌด์์ ๊ธฐ์ค์ผ๋ก ์ด๋ถ ํ์์ ํด์ผํ ์ง ๊ฐ์ด ์์ง ์๋๋ค. ๋ ๋ํ ๊ทธ๋ฌ๋ค. ๊ทธ๋์ ๋ค๋ฅธ ์ฌ๋์ ํ์ด ์์ด๋์ด๊น์ง ๋ดค๋ค. ๋ถ๋ช
1๋
์ ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ฐฑ์ค์ผ๋ก ํ์๋๋ฐ, ์ ๋ ์ฌ๋ผ์ ์ข ์ข์ ํ๋ค ใ
(1) ๊ธฐ์ค : M ์๊ฐ ๋น ๊ฐ ์ฌ์ฌ๋์์ ์ฒ๋ฆฌํ๋ ์ฌ๋์ ์๋ด ๊ธฐ์ค์์ ์ด๋ ค์ ๋ ์ ์ ๊ท์น - ์ฌ์ฌ๋๊ฐ ๋น๋๋ผ๋, ์ฌ๋์ ๋ค๋ฅธ ์ฌ์ฌ๋๊ฐ ๋น ๋๊น์ง ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๋ค์ด๊ฐ ์ ์๋ค. ์๋ค. ์ด ์์จ์ฑ ๋๋ฌธ์, ๋ฌธ์ ์ ์ ํ์ ์๊ฐํ์ง ๋ชปํ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ๊ธฐ์ตํด์ผํ ์ ์, ๋ฌด์์ ์ด๋ถ ํ์ ํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ ๋๋, ๋ฐํํ๋ ๋ต์ ๊ธฐ์ค์ผ๋ก ํ์ํ ๊ฒ์ด..
2024.08.03
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 9์ผ์ฐจ TIL + ๋ฐฑ์ค 1927 ์ต์ํ java
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์์ด๊ฑด ๋ญ Priority Queue ์ธ ์ค ์๋๊ณ ๋ฌป๋ ๋ฌธ์ ์๋ค.PQ๋ฅผ ๋ง๋ ๋ค. (default๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ด๋ ๊ฑด๋ค์ผ ๊ฒ์ด ์๋ค.)๋ฌธ์ ์์ ์ ๊ณตํ๋ Order์ ๋ฐ๋ฅธ๋ค. (0์ด๋ฉด ์ถ๋ ฅ, ๋๋จธ์ง๋ฉด ์ ์ฅ)3. ์ฝ๋ ๋ถ์import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); PriorityQueue pq = new PriorityQueue(); ..
2024.07.30
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 1522 ๋ฌธ์์ด ๊ตํ ํ์ด java
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์KEY WORD: Sliding Window, ๋๋จธ์ง ์ฐ์ฐ์์ด๋์ด๋ฅผ ๋ ์ฌ๋ฆฌ๊ธฐ๊ฐ ์ด๋ ค์์ ๋ค๋ฅธ ์ฌ๋์ ํ์ด ๋ธ๋ก๊ทธ์์ ์์ด๋์ด ๋ถ๋ถ๊น์ง๋ง ๋ดค๋ค.๋๋ a์ b๋ฅผ ์ผ์ผํ ๊ตํํ๋๋ฐ๋ง ์ง์คํ๊ณ ์์๋๋ฐ, ์์ ํ ์๋ชป๋ ์ ๊ทผ ๋ฐฉ์์ด์๋ค. ๊ทธ๋ฌํ ๋ฐฉ์์ผ๋ก ํ์์ ๋, ์ต์๊ฐ์ ์ด๋ป๊ฒ ์ฐพ์ ์ ์์์ง ๊ฐ์ด ์์จ๋ค. ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ๋ค. ๋ฌธ์์ด ๋ด์ a์ ๊ฐ์๋ฅผ ์ธ๊ณ , ๊ทธ ๊ฐ์๋ฅผ ์ฉ๋์ผ๋ก ํ๋ Sliding window๋ฅผ ๋ง๋ ๋ค.๋ฌธ์์ด์ ์ฒ์๋ถํฐ, 1๋ฒ์์ ์ผ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ์ ์ฉ๋๋งํผ a์ b์ ๊ฐ์๋ฅผ ์ผ๋ค. b์ ๊ฐ์ == ๊ตํ์ด ์ผ์ด๋๋ ํ์ ์ด๋ค. ํ์ฌ a์ ๊ฐ์๋งํผ์ฉ ๋ฐฐ์ด์ ํ์ธํ๊ณ ์๊ณ , ๊ฑฐ๊ธฐ์ b์ ๊ฐ์๋ฅผ ์ ๋ถ a๋ก ๋๋ฆฐ๋ค๋ฉด, ์ฐ์๋ a์ ์ฐ์๋ b๊ฐ ..
2024.07.29
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 8์ผ์ฐจ TIL + Programmers ๋ ํ์ ํฉ ๊ฐ๊ฒ ๋ง๋ค๊ธฐ (java)
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์KEY WORD: GREEDY๋ฌธ์ ์ค๋ช
๊ทธ๋๋ก Queue ๋ ๊ฐ๋ฅผ ๋ง๋ ๋ค.์ดํฉ์ด ํฐ ์ชฝ์ queue.peek()์ poll ํด์ ๋ค๋ฅธ ์ชฝ ํ์ ์ถ๊ฐํ๋ค.2๋ฒ ์ข
๋ฃ ํ ๋ ํ์ ์ดํฉ์ด ๊ฐ์์ง ๊ฒ์ฌํ๋ค.๋ง์ฝ ๊ฐ์ผ๋ฉด, 2๋ฒ์ ํํ ํ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ ๋ ํ์ ์ด ๊ธธ์ด + 1 ๋งํผ ํด๋ ๋ ํ์ ํฉ์ด ๊ฐ์ง ์์ผ๋ฉด -1์ ์ถ๋ ฅํ๊ณ ์ข
๋ฃ ํ๋ค.๋ ํ์ ์ด ๊ธธ์ด + 1 ๋งํผ ๋ฐ๋ณตํด์ผ ํ๋ ์ด์ ๋ ๋ค์์ ์ค๋ช
.3. ์ฝ๋ ๋ถ์import java.io.*;import java.util.*;class Solution { public int solution(int[] queue1, int[] queue2) { ArrayDeque a = new ArrayDeque()..
2024.07.29
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด