๋ชฉ๋กLIST (48)

J

[JAVA] BOJ ๋ฐฑ์ค€ 5052 ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก

https://www.acmicpc.net/problem/5052 5052๋ฒˆ: ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ t๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ t ≤ 50) ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ n ≤ 10000) ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” ๋ชฉ๋ก์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ www.acmicpc.net Trie ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ๐Ÿ’ก computeIfAbsent() Map์—์„œ ํŠน์ • ํ‚ค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์ด ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•œ ํ›„, ์—†์œผ๋ฉด ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์„œ ๋„ฃ์–ด์ฃผ๋Š” ํ˜•ํƒœ์˜ ์ฝ”๋“œ์ด๋‹ค. Key๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” value๊ฐ€ ์กด์žฌํ•˜๋ฉด ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉํ•˜๊ณ  ์—†์œผ๋ฉด ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํŒจํ„ด์˜ ์ฝ”๋“œ๋ฅผ ์œ„ํ•ด computeIfAbsent()๋ผ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ „ Value valu..

[JAVA] Programmers ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ ์ด์ง„ํŠธ๋ฆฌ

ํ’€์ด ๋ฐฉ๋ฒ• Queue๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ๊ฐ์˜ ์ƒ์œ„ parent์˜ node ๊ฐ’์„ ์ €์žฅํ•ด์ค€๋‹ค. convert ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด num์„ ์ด์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ์ด๋•Œ ์˜ˆ์‹œ์˜ 63์„ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์›๋ž˜์˜ ์ด์ง„์ˆ˜๋Š” 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์™„์ „ ์ด์ง„ํŠธ๋ฆฌ๋ฅผ ์ƒ๊ฐํ–ˆ์„ ๋•Œ ์ด์ง„์ˆ˜์˜ ๊ธธ์ด์— ๊ฐ’์„ ๋งž์ถ”๊ธฐ์œ„ํ•ด ์•ž์— 0์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•จ์„ ์ƒ๊ฐํ•˜์ž. ๊ฐ€๋Šฅํ•œ ์ด์ง„์ˆ˜์˜ ๊ธธ์ด๋Š” nums ๋ฐฐ์—ด์— ์ €์žฅํ•ด๋‘์—ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ์ด์ง„์ˆ˜์˜ ๊ธธ์ด๊ฐ€ ๋˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๋งŒํผ ์•ž์— 0์„ ์ถ”๊ฐ€ํ•ด์ฃผ์ž check ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ด์ง„ํŠธ๋ฆฌ๊ฐ€ ๋˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ์ง์ˆ˜์˜ ๊ฒฝ์šฐ ๋ฏธ๋ฆฌ ์ €์žฅํ•ด๋‘” roots๋ฐฐ์—ด์„ ํ™•์ธํ•œ๋‹ค. ํ™€์ˆ˜์˜ ๊ฒฝ์šฐ 4๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 1์ธ ์นœ๊ตฌ๋“ค๊ณผ 2์ธ ์นœ๊ตฌ๋“ค์— ๋”ฐ๋ผ parent๊ฐ€ ๋‹ค๋ฅด๋‹ค. ๊ฐ€๋Šฅํ•œ ์ด์ง„ํŠธ๋ฆฌ๊ฐ€ ๋˜๋ ค๋ฉด ์ž์‹์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ๋ถ€๋ชจ๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค. impor..

[JAVA] Programmers ํ‘œ ๋ณ‘ํ•ฉ

๐Ÿ’ก ์ฃผ์˜ํ•  ์  1. ์…€์— ๊ฐ’์ด ์—†๋”๋ผ๋„ ๋ณ‘ํ•ฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 2. ์…€์˜ ๊ฐ’์€ ์„œ๋กœ ๊ฐ™์„ ์ˆ˜ ์žˆ๋‹ค. ํ’€์ด ๋ฐฉ๋ฒ• cell์„ ์ €์žฅํ•  class๋ฅผ ์ •์˜ํ•œ๋‹ค. ์ด๋•Œ ์ƒ์„ฑ ์‹œ ๊ฐ’์˜ ์ดˆ๊ธฐ๊ฐ’์€ “”๊ฐ€ ์•„๋‹ˆ๋ผ null๋กœ ์ฃผ์—ˆ๋‹ค.(์ƒ๊ด€ ์—†์„ ๊ฒƒ ๊ฐ™๋‹ค!) ๋ณ‘ํ•ฉํ•  ๋•Œ ๊ฐ™์€ cell์„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ๊ฒƒ๋“ค๋„ ๊ฐ™์ด ์ˆ˜์ •ํ•ด์ค€๋‹ค. (merge ํ•จ์ˆ˜์—์„œ table[r1][r2] = table[r3][r4]๋งŒ ํ•˜๋ฉด ์ ˆ๋Œ€ ์•ˆ๋จ) mergeํ•  ๋•Œ ํ•˜๋‚˜์˜ ๊ฐ’์ด null์ด๋ผ๊ณ  ๊ทธ cell์— ์—ฐ๊ฒฐ๋œ ํ‘œ๊ฐ€ 1์นธ์ด๋ผ๋Š” ๋œป์€ ์•„๋‹˜!!! ๊ฐ’์ด ์—†์–ด๋„ merge๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ™์€ ๊ณณ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ‘œ๊ฐ€ ์žˆ๋Š” ์ง€ ํ™•์ธํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. import java.io.*; import java.util.*; class Solution { static class cel..

[JAVA] BOJ ๋ฐฑ์ค€ 1941 ์†Œ๋ฌธ๋‚œ ์น ๊ณต์ฃผ

https://www.acmicpc.net/problem/1941 1941๋ฒˆ: ์†Œ๋ฌธ๋‚œ ์น ๊ณต์ฃผ ์ด 25๋ช…์˜ ์—ฌํ•™์ƒ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์—ฌํ•™์ƒ๋ฐ˜์€ 5×5์˜ ์ •์‚ฌ๊ฐํ˜• ๊ฒฉ์ž ํ˜•ํƒœ๋กœ ์ž๋ฆฌ๊ฐ€ ๋ฐฐ์น˜๋˜์—ˆ๊ณ , ์–ผ๋งˆ ์ง€๋‚˜์ง€ ์•Š์•„ ์ด๋‹ค์†œ๊ณผ ์ž„๋„์—ฐ์ด๋ผ๋Š” ๋‘ ํ•™์ƒ์ด ๋‘๊ฐ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ๋‹ค๋ฅธ ํ•™์ƒ๋“ค์„ ํœ˜์–ด์žก๊ธฐ ์‹œ์ž‘ www.acmicpc.net ๐Ÿ’ก ๋ถ€๋ถ„์ง‘ํ•ฉ๊ณผ BFS๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. 1. ๋ถ€๋ถ„ ์ง‘ํ•ฉ์„ ํ†ตํ•ด 5X5 ์ขŒํ‘œ์—์„œ 7๊ฐœ๋ฅผ ๊ณจ๋ผ์ค€๋‹ค. 2. ์ด๋•Œ 'Y'์˜ ๊ฐœ์ˆ˜๊ฐ€ 3๊ฐœ์ด์ƒ์ด๋ฉด return ํ•ด์ค€๋‹ค. 3. 7๊ฐœ๋ฅผ ๊ณจ๋ผ์ฃผ๋ฉด BFS๋ฅผ ํ†ตํ•ด ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ค€๋‹ค. ์ „์ฒด ์ฝ”๋“œ import java.util.*; import java.io.*; public class Main { static char[][] classroom; ..