๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฐ˜์‘ํ˜•

java

[Algorithm/Java][๋ฐฑ์ค€] 9020 ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก [BOJ] 9020 ๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก https://www.acmicpc.net/problem/9020 ๋ฌธ์ œ ์ ‘๊ทผ ์ง์ˆ˜ n์„ ๊ฐ€์žฅ ์ฐจ์ด๊ฐ€ ์ž‘์€ ๋‘ ์†Œ์ˆ˜์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ฒ˜์Œ์—๋Š” n๊นŒ์ง€ ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ณ  ๊ทธ ์ˆ˜์ค‘์—์„œ ํ•ฉ์„ ์ˆ˜ํ• ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์ฝ”๋“œ๊ฐ€ ๋„ˆ๋ฌด ๋ณต์žกํ•ด์ง€๊ณ  ๋‚ด๊ฐ€ ์ผ๋Š”๋ฐ๋„ ๋‚ด๊ฐ€ ๋ชป์•Œ์•„๋ณด๋Š” ์ง€๊ฒฝ์ด์˜€๋‹ค... ๊ทธ๋ฆฌ๊ณ  ๊ฒฐ๊ตญ์€ ๋ง‰ํ˜”๋‹ค ๊ทธ๋ž˜์„œ ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋ฅผ ์ด์šฉํ•ด์„œ 10000๊นŒ์ง€์˜ ์†Œ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ตฌํ–ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์€ ๊ฐ€์žฅ ์ฐจ์ด๊ฐ€ ์ž‘์€ ๋‘ ์†Œ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ num1์€ n/2๋ถ€ํ„ฐ 1์”ฉ ๊ฐ์†Œํ•˜๊ณ  num2๋Š” n- num1์œผ๋กœ ํ•ด์„œ num1,num2 ๋ชจ๋‘ ์†Œ์ˆ˜์ธ ์ฒซ๋ฒˆ์งธ ๊ฒฝ์šฐ๊ฐ€ ๋‹ต์ด์˜€๋‹ค. ์š”์•ฝํ•˜์ž๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. 1.์—๋ผํ† ์Šค๋„ค์Šค์˜ ์ฒด๋กœ 10000๊นŒ์ง€ ์†Œ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ตฌํ•œ๋‹ค. 2.1์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ n/2๋ถ€.. ๋”๋ณด๊ธฐ
[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋•…๋”ฐ๋จน๊ธฐ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋•…๋”ฐ๋จน๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/12913 ๋ฌธ์ œ ์ ‘๊ทผ ์ฒ˜์Œ์— ์ ‘๊ทผํ•  ๋•Œ dfs๋กœ ํ’€์–ด์•ผ ๋ ๊นŒ? dp๋กœ ํ’€์–ด์•ผ ๋ ๊นŒ? ๊ณ ๋ฏผ์ด ๋˜์—ˆ๋Š”๋ฐ dfs๋กœ ์ฝ”๋“œ ์งœ๋ ค๊ณ  ํ•˜๋‹ˆ๊นŒ ๊ทธ๋ƒฅ ๋ฐ”๋กœ ๋ง‰ํ˜€์„œ dp๋กœ ์ƒ๊ฐํ•ด๋ดค๋‹ค. ์ผ๋‹จ ์ ‘๊ทผ ๋ฐฉ์‹์€ ํ˜„์žฌ ๋‚ด๊ฐ€ ๋ฐŸ์€ ๋•…๊ณผ ๊ฐ™์€ ์—ด์„ ์ œ์™ธํ•˜๊ณ  ๋ฐ”๋กœ ์ „ ํ–‰์—์„œ ์ตœ๊ณ ์ ์ˆ˜๋ฅผ ๊ฐ€์ง„ ๊ณณ์„ ๋ฐŸ์•„์•ผ ์ตœ๊ณ  ์ ์ˆ˜๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋•…์„ ๋ฐŸ์•„๊ฐˆ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ dp๋ฐฐ์—ด์— ๊ทธ ์œ„์น˜์— ํ•ด๋‹นํ•˜๋Š” ์ตœ๊ณ ์ ์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ณ , ๋งˆ์ง€๋ง‰ ํ–‰์ค‘์—์„œ ์ตœ๊ณ  ์ ์ˆ˜๊ฐ€ ์ตœ์ข… ๋‹ต์ด ๋œ๋‹ค. Code class Solution { int solution(int[][] land) { int answer = 0; int[][] dp = new int[land.lengt.. ๋”๋ณด๊ธฐ
[Algorithm/Java][๋ฐฑ์ค€] 6603 ๋กœ๋˜ [๋ฐฑ์ค€] 6603 ๋กœ๋˜ https://www.acmicpc.net/problem/6603 ๋ฌธ์ œ ์ ‘๊ทผ ๋ฐฑํŠธ๋ž˜ํ‚น ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•˜์—ฌ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ DFS๋ฅผ ์ด์šฉํ•˜์—ฌ ํ’€์—ˆ๋‹ค. ๋จผ์ € ์ž…๋ ฅ์„ ๋ฐ›์€ ์ˆซ์ž๋ฅผ nums์— ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉํ–ˆ๋Š”์ง€๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ nums์™€ ๊ฐ™์€ ํฌ๊ธฐ์˜ boolean ๋ฐฐ์—ด๋กœ visited๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ์ข…์ ์œผ๋กœ 6๊ฐœ์˜ ๋กœ๋˜ ๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฐ์—ด lotto๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ฒฐ๊ณผ๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‚˜์™€์•ผ ํ•ด์„œ lotto[cnt-1]๊ณผ nums[i]๋ฅผ ๋น„๊ตํ•ด์„œ ํƒ์ƒ‰์„ ๊ฑด๋„ˆ๋›ฐ๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค. Code import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BOJ.. ๋”๋ณด๊ธฐ
[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ”„๋ฆฐํ„ฐ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ”„๋ฆฐํ„ฐ https://programmers.co.kr/learn/courses/30/lessons/42587 ๋ฌธ์ œ์ ‘๊ทผ ์ธ์‡„ ๋Œ€๊ธฐ์—ด์—์„œ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๊ฒƒ ๋ถ€ํ„ฐ ์ธ์‡„๋ฅผ ํ•ด์•ผํ•˜๊ณ , location์— ์žˆ๋Š” ์ž‘์—…์ด ๋ช‡๋ฒˆ์งธ๋กœ ์ธ์‡„๋˜๋Š”์ง€๋ฅผ ๊ตฌํ•ด์•ผํ•œ๋‹ค. ๊ทธ๋ž˜์„œ task ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ์šฐ์„ ์ˆœ์œ„์™€ ์ฒ˜์Œ ์ฃผ์–ด์ง„ ์ธ๋ฑ์Šค๋ฅผ ์ €์žฅํ•˜๊ณ  ์ด๋ฅผ ํ์— ์ €์žฅ์„ ํ•˜๊ณ , ๊ฐ€์žฅ ํฐ ์šฐ์„ ์ˆœ์œ„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ์œ„ํ•ด์„œ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์ด์šฉํ•ด์„œ ์ตœ๋Œ€ ํž™์„ ์ด์šฉํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ•ด๋‹น location์— ์žˆ๋Š” ์ž‘์—…์ด ์ธ์‡„๋  ๋•Œ๊นŒ์ง€ while๋ฌธ์„ ๋Œ๋ฆฌ๋„๋ก ํ–ˆ๋‹ค. Code import java.util.PriorityQueue; import java.util.Queue; import java.util.Collections; import java.uti.. ๋”๋ณด๊ธฐ
[Algorithm/Java][๋ฐฑ์ค€] 14502 ์—ฐ๊ตฌ์†Œ [๋ฐฑ์ค€] 14502 ์—ฐ๊ตฌ์†Œ https://www.acmicpc.net/problem/14502 ๋ฌธ์ œ์ ‘๊ทผ ๋ชจ๋“  ๋งต์„ ๋Œ๋ฉด์„œ ๋ฒฝ์„ 3๊ฐœ ์„ธ์šธ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ชจ๋‘ ํƒ์ƒ‰ํ•ด์•ผํ•œ๋‹ค. ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋ฒฝ์„ ์„ธ์šธ ์ˆ˜ ์žˆ๋Š” ์ง€์ ์—์„œ ๋ฒฝ์„ ์„ธ์šฐ๋Š” ๊ฒฝ์šฐ์™€ ์„ธ์šฐ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ชจ๋‘ ํƒ์ƒ‰ํ•œ๋‹ค. ํฌ๊ฒŒ๋ณด๋ฉด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค, 1.๋ฒฝ์„ 3๊ฐœ ์„ธ์šด๋‹ค 2.๋ฐ”์ด๋Ÿฌ์Šค๋ฅผ ํผ๋œจ๋ ค ๋ณธ๋‹ค. 3.์•ˆ์ „ ์˜์—ญ์„ ์„ผ๋‹ค. 4.์ด๋ฒˆ ๊ฒฝ์šฐ๊ฐ€ ์ตœ๋Œ€ ์•ˆ์ „ ์˜์—ญ์ธ์ง€ ํ™•์ธํ•œ๋‹ค. 5.1~4๋ฅผ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ํƒ์ƒ‰ํ•œ๋‹ค. Code import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import jav.. ๋”๋ณด๊ธฐ
[Java] ์ŠคํŠธ๋ฆผ(Stream) ์ŠคํŠธ๋ฆผ์ด๋ž€? -> ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค(์ปฌ๋ ‰์…˜, ๋ฐฐ์—ด…)๋ฅผ ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๊ฒƒ (JDK 1.8) -> ์ปฌ๋ ‰์…˜, ๋ฐฐ์—ด์„ Stream์„ ํ†ตํ•ด์„œ ๋ชจ๋‘ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ค‘๊ฐ„์—ฐ์‚ฐ(n๋ฒˆ)๊ณผ ์ตœ์ข…์—ฐ์‚ฐ(1๋ฒˆ)์„ ํ†ตํ•ด์„œ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ์ŠคํŠธ๋ฆผ์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ ์ŠคํŠธ๋ฆผ ๋งŒ๋“ค๊ธฐ ์ค‘๊ฐ„ ์—ฐ์‚ฐ (0~n๋ฒˆ) ์ตœ์ข… ์—ฐ์‚ฐ (1๋ฒˆ) ์ค‘๊ฐ„ ์—ฐ์‚ฐ - ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ์ŠคํŠธ๋ฆผ์ธ ์—ฐ์‚ฐ. ๋ฐ˜๋ณต์ ์œผ๋กœ ์ ์šฉ๊ฐ€๋Šฅ ์ตœ์ข… ์—ฐ์‚ฐ - ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ์ŠคํŠธ๋ฆผ์ด ์•„๋‹Œ ์—ฐ์‚ฐ. ๋‹จ ํ•œ๋ฒˆ๋งŒ ์ ์šฉ๊ฐ€๋Šฅ (์ŠคํŠธ๋ฆผ์˜ ์š”์†Œ๋ฅผ ์†Œ๋ชจ)= ์ค‘๋ณต์ œ๊ฑฐ -> 5๊ฐœ ์ž๋ฅด๊ธฐ -> ์ •๋ ฌ -> ์ถœ๋ ฅ stream.distinct().limit(5).sorted().forEach(System.out::println) ์ŠคํŠธ๋ฆผ์˜ ํŠน์ง• 1.์ŠคํŠธ๋ฆผ์€ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ๋งŒํ•  ๋ฟ.. ๋”๋ณด๊ธฐ
[Algorithm/Java][๋ฐฑ์ค€] 1676๋ฒˆ ํŒฉํ† ๋ฆฌ์–ผ 0์˜ ๊ฐœ์ˆ˜ [๋ฐฑ์ค€] 1676๋ฒˆ ํŒฉํ† ๋ฆฌ์–ผ 0์˜ ๊ฐœ์ˆ˜ https://www.acmicpc.net/problem/1676 ๋ฌธ์ œ์ ‘๊ทผ ์ฒ˜์Œ์—๋Š” ๊ทธ๋ƒฅ ํŒฉํ† ๋ฆฌ์–ผ ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋‹จ์ˆœํ•˜๊ฒŒ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์…€๋ ค๊ณ  ํ–ˆ๋‹ค. ๊ทผ๋ฐ ์ž…๋ ฅ์˜ ๋ฒ”์œ„๊ฐ€ 500๊นŒ์ง€ ์˜€๊ณ  500!๋Š” long์œผ๋กœ๋„ ์ปค๋ฒ„๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฒ”์œ„์˜€๋‹ค. ๊ทธ๋ž˜์„œ ๊ฒ€์ƒ‰์„ ํ•ด๋ณธ ๊ฒฐ๊ณผ!@! ๋งจ ๋’ค์—์„œ ์—ฐ์†๋˜๋Š” 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ผ๋‹ค๋Š” ๊ฒƒ์€ 2 * 5 ์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋ช‡๊ฐœ๊ฐ€ ์žˆ๋Š”์ง€์™€ ๊ฐ™๋‹ค!!๋ผ๋Š” ์—„์ฒญ๋‚œ ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์–ด์„œ ์ด๋ฅผ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค....๋Œ€๋ฐ•... Code import java.util.Scanner; public class BOJ1676 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); .. ๋”๋ณด๊ธฐ
[Algorithm/Java][ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์‹ ๊ณ  ๊ฒฐ๊ณผ ๋ฐ›๊ธฐ [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 2022 KAKAO BLIND RECRUITMENT ์‹ ๊ณ  ๊ฒฐ๊ณผ ๋ฐ›๊ธฐ https://programmers.co.kr/learn/courses/30/lessons/92334 ๋ฌธ์ œ์ ‘๊ทผ ์ผ๋‹จ ๋ฌธ์ œ๊ฐ€ ๊ณ ๋ คํ•ด์•ผ ํ•  ๊ฒƒ๋“ค์ด ๋งŽ์•„์„œ ์ฒ˜์Œ์—๋Š” ์‹ ๊ณ  ๋‹นํ•œ ํšŸ์ˆ˜, ์‹ ๊ณ ํ•œ ์‚ฌ๋žŒ, ์•Œ๋ฆผ ๋ฉ”์ผ์„ ๋ฐ›์„ ํšŸ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ฐ๋กœ map์„ ์ด์šฉํ•ด์„œ 3๊ฐœ์˜ map์„ ๋งŒ๋“ค์–ด์„œ ์ ‘๊ทผํ–ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ๋ณต์žกํ•ด์„œ ๊ทธ๋ƒฅ 3๊ฐœ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ User ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋‹ˆ๊นŒ ๋” ์ƒ๊ฐํ•˜๊ธฐ ์‰ฌ์› ๊ณ  ๋‚ด๊ฐ€ ๋А๋ผ๊ธฐ์—๋Š” ๋ณต์žกํ•จ์ด ๋งŽ์ด ์ค„์–ด๋“ค์—ˆ๋‹ค. Code import java.util.HashMap; import java.util.HashSet; class Solution { class User { HashSet report; // ์‹ ๊ณ ํ•œ .. ๋”๋ณด๊ธฐ