99ํด๋ฝ
14
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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 5์ผ์ฐจ TIL + Programmers ๋ฒ ์คํธ ์จ๋ฒ
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์KEY WORD: Sorting, HashMap์์
๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค. ( ๋ฉค๋ฒ ๋ณ์: ์์ ์ ๊ณ ์ ๋ฒํธ, ์ฅ๋ฅด, ํ๋ ์ด ํ์ )์
๋ ฅ ๊ฐ๋ค์ ์ ๋ถ ์์
๊ฐ์ฒด๋ก ๋ฐ๊ฟ์ ArrayList์ ์ถ๊ฐํ๋ค.HashMap์ ๋ง๋ ๋ค. Key = ์ฅ๋ฅด , value = ์ฅ๋ฅด์ ํด๋นํ๋ ๊ณก๋ค์ ํ๋ ์ด ์ดํฉ2๋ฒ์์ ๋ง๋ ArrayList๋ฅผ ์ ๋ ฌํ๋ค. ์ ๋ ฌ ๊ธฐ์ค์ ๋ฌธ์ ๊ทธ๋๋ก๋ค. -> Comparator๋ฅผ ๋จ์ํํ Lamda ์์ ์ด์ฉํด ๊ตฌํ๋ต๋ณ์ฉ ansList๋ฅผ ๋ง๋ค๊ณ , ๋ต๋ณ์ ์ฅ๋ฅด๋ณ๋ก ๋ช ๋ฒ ๋ค์ด๊ฐ๋์ง๋ฅผ ๋ํ๋ด๋ genreAddedCount๋ผ๋ HashMap๋ ํ๋ ๋ ๋ง๋ ๋ค.genreAddedCount๋ Key = ์ฅ๋ฅด, value = ์ฅ๋ฅด ๋ณ๋ก ๋ต๋ณ List์ ๋์จ ํ์ ์ด๋ค. .get..
2024.07.27
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 4์ผ์ฐจ TIL + Programmers ๋ฌธ์์ด ์์ถ
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์๋ถ๋ถ ๋ฌธ์์ด์ ํฌ๊ธฐ 1๋ถํฐ N/2๊น์ง๋ง ์๊ฐํ๋ฉด ๋๋ค. (N = ๋ฌธ์์ด์ ๊ธธ์ด)์๋ํ๋ฉด, ๋ถ๋ถ ๋ฌธ์์ด์ ํฌ๊ธฐ๊ฐ ์ ๋ฐ ์ด์์ด๋ฉด ๋ฐ๋ณต์ด ๋ถ๊ฐํ๋ฏ๋ก, ์ธ๋ ์๋ฏธ๊ฐ ์๋ค. 1๋ฒ์์ ์ ํ ๋ฌธ์์ด ํฌ๊ธฐ๋งํผ ์ฒ์๋ถํฐ ์๋ฅธ๋ค. ์ด ํ์๋ 0 ~ N - i ๊น์ง๋ง ๋ฐ๋ณตํ๋ค. ๋ถ๋ถ๋ฌธ์์ด์ ๊ตฌํ๋ substring(startIndex, endIndex)์์ endIndex๊ฐ ๋ฐฐ์ด์ ๋ฒ์๋ฅผ ๋์ด๊ฐ๋ฉด ์์ธ๊ฐ ๋ฐ์ํ๋ค. ์ฐ๋ฆฌ๋ substring(startIndex, startIndex+i)๋งํผ ํญ์ ํ ๊ฒ์ด๋ฏ๋ก, endIndex๊ฐ ๋ฐฐ์ด์ ๋ฒ์๋ฅผ ๋์ด์์ง ์๋๋ก ๋ฐ๋ณต์ ๋ฒ์๋ฅผ ์์ ๊ฐ์ด ์ ํ๋ค.์ต์ด ์๋ฅธ ๋ถ๋ถ ๋ฌธ์์ด์ ์ค๋ณต ์ฒดํฌ๊ฐ ๋ถ๊ฐํ๋ฏ๋ก ์ด์ ๋ฌธ์์ด(์ดํ prev)์ ์ ์ฅํ๋ค.์ด์ ๋ฌธ์์ด๊ณผ..
2024.07.25
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 3์ผ์ฐจ TIL + Programmers ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด java
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์KEY WORD: Brute forcekey=String, value=Integer์ธ map์ ๋ฌธ์๋ก ํํํ ์ซ์ =intํ ์ซ์๋ก 1~9๊น์ง ๋ชจ๋ ์ซ์๋ฅผ ์ ์ฅํ๋ค.ํฌ์ธํฐ๋ฅผ ํ๋ ์ฌ์ฉํ์ฌ ํด๋น ํฌ์ธํฐ๊ฐ ๊ฐ๋ฅดํค๋ ๊ฐ์ word ๋ StringBuilder์ ์ ์ฅํ๋ค.(1) word์ ๊ธธ์ด๊ฐ 3์ด์์ด๋ฉด map์ ํด๋น ๊ฐ์ key๋ก ๊ฐ์ง๋ ๊ฐ์ด ์๋ ๊ณ์ ํ์ธ(2) ์์ผ๋ฉด ํด๋น ์๋ฅผ ์ซ์๋ก ๋ฐ๊พธ์ด ๋ต๋ณ์ด ๋๋ ans์ ์ ์ฅํ๊ณ word๋ฅผ ๋น์ด๋ค.(3) ์์ผ๋ฉด ํฌ์ธํฐ๋ฅผ ํ ์นธ ์ด๋ํ์ฌ word๋ฅผ ๋ ์ฑ์ด๋ค.(4) ๋ง์ฝ ์ซ์๋ผ๋ฉด ans์ ๊ฐ ์ ์ฅํ๊ณ ๋ฐ๋ก ๊ฑด๋ ๋ฐ๊ธฐ.3. ์ฝ๋ ๋ถ์import java.io.*;import java.util.*;class Solution { ..
2024.07.24
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด