๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ:CodingTest

๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ:CodingTest

์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ (๋ฐฑ์ค€ 5639๋ฒˆ)

์ „์œ„์ˆœํšŒ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ , ํ›„์œ„์ˆœํšŒ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ํ’€์ด ์ˆœ์„œ 1. ์ž…๋ ฅ์„ ๋ฐ”ํƒ•์œผ๋กœ ํŠธ๋ฆฌ๋ฅผ ๊ตฌ์„ฑ. (๋…ธ๋“œ ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉ) 2. ๋…ธ๋“œ ํด๋ž˜์Šค ๋‚ด๋ถ€์— insert ํ•จ์ˆ˜ ์ž‘์„ฑ. insert ํ•จ์ˆ˜ : ์ž…๋ ฅ๋œ ๋…ธ๋“œ์˜ ๊ฐ’์„ ํ˜„์žฌ ๋…ธ๋“œ ๊ฐ’๊ณผ ๋น„๊ตํ•˜์—ฌ, ์™ผ์ชฝ ํ˜น์€ ์˜ค๋ฅธ์ชฝ์— ๋‹ฌ์•„์ฃผ๋Š” ํ•จ์ˆ˜. ์ด๋•Œ insert ํ•จ์ˆ˜์— ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•ด์•ผ ํ•œ๋‹ค. ํ•ด๋‹น ์œ„์น˜๊ฐ€ ๋น„์–ด์žˆ์œผ๋ฉด ํ•ด๋‹น ์œ„์น˜์— ๋…ธ๋“œ๋ฅผ ๋‹ฌ์•„์ฃผ๊ณ , ๋น„์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด ํ•ด๋‹น ์œ„์น˜์— ์žˆ๋Š” ๋…ธ๋“œ์˜ insertํ•จ์ˆ˜๋ฅผ ์žฌ๊ท€ํ˜ธ์ถœ ์ฝ”๋“œ package com.mincheolsong; import java.io.*; import java.util.*; public class Main { // BOJ 5639๋ฒˆ ์ด์ง„ ๊ฒ€์ƒ‰ ํŠธ๋ฆฌ static class Node{ int num; N..

๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ:CodingTest

๋‹ค์ต์ŠคํŠธ๋ผ (๋ฐฑ์ค€ 13549 ์ˆจ๋ฐ”๊ผญ์งˆ 3)

๋‹ค์ต์ŠคํŠธ๋ผ๋กœ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ƒํ™ฉ ํ•œ ์ง€์ ์—์„œ ๋‹ค๋ฅธ ํ•œ ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ ํ•œ ์ง€์ ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ ๋ชจ๋“  ์ง€์ ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ ํ•ด๋‹น ๋ฌธ์ œ๋Š” ํ•œ ์ง€์ ์—์„œ ๋‹ค๋ฅธ ํ•œ ์ง€์ ๊นŒ์ง€์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ๊ทธ๋ž˜ํ”„๋กœ ๋ฐ”๊พธ๋Š”๊ฒŒ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์ˆ˜๋นˆ์ด๋Š” ์œ„์น˜ X์—์„œ -1, +1, *2 ๋กœ ์›€์ง์ผ ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ ์œ„์น˜ X๋ฅผ ๋…ธ๋“œ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์„ ๋•Œ X-1, X+1, X*2 ๋ฅผ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ, ๊ฐ€์ค‘์น˜๋Š” ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ (1, 1, 0) ์œผ๋กœ ์ƒ๊ฐํ–ˆ๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (์šฐ์„ ์ˆœ์œ„ํ ํ™œ์šฉ) ์ฝ”๋“œ package com.mincheolsong; import java.io.*; import java.util.*; public class Main { // boj 13549 ..

๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ:CodingTest

ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„ (๋ฐฑ์ค€ 1167๋ฒˆ)

ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„์ด๋ž€ ํŠธ๋ฆฌ์—์„œ ์ž„์˜์˜ ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ฒƒ์ด๋‹ค. ๊ฒฐ๋ก  ์ž„์˜์˜ ์ •์ ์—์„œ ๊ฐ€์žฅ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ธด ๋…ธ๋“œ๋ฅผ ์ฐพ๋Š”๋‹ค. (dfs ํ•œ ๋ฒˆ) ์ฐพ์•„์ง„ ๋…ธ๋“œ์—์„œ ๊ฐ€์žฅ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ธด ๋…ธ๋“œ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. (dfsํ•œ ๋ฒˆ) (์ด dfs ๋‘ ๋ฒˆ์— ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค) ์„ค๋ช… ์œ„ ํŠธ๋ฆฌ์˜ ๊ฒฝ์šฐ 1 - 3 - 4 - 5 ๊ฐ€ ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„(ํŠธ๋ฆฌ์—์„œ ์ž„์˜์˜ ๋‘ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ฒƒ) ๊ฒฝ๋กœ๊ฐ€ ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„์ด ๋˜๋Š” ์–‘ ๋ ๋…ธ๋“œ๋Š” 1๊ณผ 5์ด๋‹ค. ์ด ๋•Œ ์ž„์˜์˜ ์ •์ ์—์„œ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ๊ธด ๋…ธ๋“œ๋Š” 1 ํ˜น์€ 5๋ฅผ ๋ฐ˜๋“œ์‹œ ์ง€๋‚˜๊ฒŒ ๋œ๋‹ค. 1์—์„œ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ๊ธด ๊ฒฝ๋กœ : 1 - 3 - 4 - 5 2์—์„œ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ๊ธด ๊ฒฝ๋กœ : 2 - 4 - 5 3์—์„œ ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ๊ธด ๊ฒฝ๋กœ : 3 - 4 - 5 4์—์„œ ๊ฑฐ..

๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ:CodingTest

ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ชจ๋“  ๋…ธ๋“œ์—์„œ ๋‹ค๋ฅธ ๋ชจ๋“  ๋…ธ๋“œ๊นŒ์ง€์˜ ์ตœ๋‹จ๊ฒฝ๋กœ๋ฅผ ๋ชจ๋‘ ๊ณ„์‚ฐํ•จ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‹จ๊ณ„๋ณ„๋กœ ๊ฑฐ์ณ ๊ฐ€๋Š” ๋…ธ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ˆ˜ํ–‰ ๋‹ค์ต์ŠคํŠธ๋ผ์™€ ๋‹ค๋ฅด๊ฒŒ ๋งค ๋‹จ๊ณ„๋งˆ๋‹ค ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ ์ค‘์— ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ–๋Š” ๋…ธ๋“œ๋ฅผ ์ฐพ๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜์ง€ ์•Š์Œ. 2์ฐจ์› ํ…Œ์ด๋ธ”์— ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ์ •๋ณด๋ฅผ ์ €์žฅ DP ์œ ํ˜•์— ์†ํ•จ (์ ํ™”์‹์— ๋งž๊ฒŒ 3์ค‘ FOR๋ฌธ์„ ์ด์šฉํ•ด์„œ 2์ฐจ์› ํ…Œ์ด๋ธ”์„ ๊ฐฑ์‹ ) ๋…ธ๋“œ์˜ ๊ณ„์ˆ˜๊ฐ€ ๋ฐ€์ง‘๊ทธ๋ž˜ํ”„(์™„์ „๊ทธ๋ž˜ํ”„์— ๊ฐ€๊นŒ์šด ๊ทธ๋ž˜ํ”„)์ธ ๊ฒฝ์šฐ ํ”Œ๋กœ์ด๋“œ ์›Œ์ƒฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํšจ์œจ์ ์ด๋‹ค. ๋ฐ€์ง‘๊ทธ๋ž˜ํ”„๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ๋‹ค์ต์ŠคํŠธ๋ผ๋ฅผ n๋ฒˆ ๋Œ๋ฆฌ๋Š”๊ฒŒ ๋น ๋ฅด๋‹ค O(n^3)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋กœ ๋‹ค์ต์ŠคํŠธ๋ผ(์ธ์ ‘ํ–‰๋ ฌ์„ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ)์˜ ์‹œ๊ฐ„๋ณต์žก๋„์™€ ๋™์ผํ•˜๋‹ค N์ด 100์ด๋ฉด → 100๋งŒ์ด์–ด์„œ ๊ฐ€๋Šฅ, 500์ด์–ด๋„ → 1์–ต 2์ฒœ 500๋งŒ ์ด์–ด์„œ tryํ•ด๋ณผ ..

๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ:CodingTest

๋ฐฑ์ค€ 9465 ์Šคํ‹ฐ์ปค

dp๋กœ ํ‘ธ๋Š” ๋ฌธ์ œ. ์•Œ๊ฒŒ๋œ ์  ์ ํ™”์‹์„ ์„ธ์šธ ๋•Œ arr[r][c]๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ์™€ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋งŒ ์ƒ๊ฐํ•˜์ง€ ๋ง์ž ์ด๋ฒˆ ๋ฌธ์ œ๋Š” arr[r][c]๋ฅผ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋Š” ์ด์ „ ์œ„์น˜๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ–ˆ๋‹ค! dp๋Š” ์ตœ์ ํ•ด์˜ ๋ถ€๋ถ„์ตœ์ ํ•ด๋ฅผ ์ƒ๊ฐํ•˜๋ฉฐ ์ ํ™”์‹์„ ์„ธ์›Œ์•ผ ํ•œ๋‹ค. ์ฒ˜์Œ ์ ‘๊ทผ๋ฐฉ์‹ arr[r][c] ์˜ ์Šคํ‹ฐ์ปค๋ฅผ ๋–ผ๋Š” ๊ฒฝ์šฐ์™€ ๋–ผ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•ด์„œ ์ ํ™”์‹์„ ์„ธ์šฐ๋ ค๊ณ  ํ–ˆ๋‹ค. ์˜ฌ๋ฐ”๋ฅธ ์ ‘๊ทผ๋ฐฉ์‹ arr[r][c]์˜ ์Šคํ‹ฐ์ปค๋ฅผ ๋—„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋งŒ ๊ณ ๋ คํ•˜๊ณ , arr[r][c] ์Šคํ‹ฐ์ปค๋ฅผ ๋—„ ์ˆ˜ ์žˆ๋Š” ์ด์ „ ์œ„์น˜ (arr[1][c-1] or arr[1][c-2] ํ˜น์€ arr[0][c-1] or arr[0][c-2]) ๋ฅผ ๋ถ€๋ถ„์ตœ์ ํ•ด๋กœ ๋ณด๋Š” ๊ฒƒ ์ด์—ˆ๋‹ค. ์ ํ™”์‹ r=0์ธ ๊ฒฝ์šฐ dp[r][c] = max{dp[1][c-1], dp[1][c..

๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ:CodingTest

bfs ๋ฐฉ๋ฌธ์ฒดํฌ ์œ„์น˜

๋ฐฑ์ค€ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๋ฅผ ๋งŒ๋‚จ.. ๋ถ„๋ช… ๋‹ค๋ฅธ์‚ฌ๋žŒ ์ฝ”๋“œ์™€ ๊ฐ™์€๋ฐ, ์™œ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๊ฐ€ ๋‚˜๋Š”์ง€ ์ด์ƒํ–ˆ๋‹ค. ์ด์œ ๋Š” bfs ๋ฐฉ๋ฌธ์ฒดํฌ ์œ„์น˜๋ฅผ ์ž˜ ๋ชป ํ•ด์„œ ๊ฒฐ๋ก  : ํ์— ์‚ฝ์ž…ํ•˜๋Š” ์ˆœ๊ฐ„์— ๋ฐฉ๋ฌธ์ฒดํ‚น์„ ํ•ด์„œ ์ค‘๋ณต์„ ๋ฐฉ์ง€ํ•˜์ž ์ž˜๋ชป๋œ ๋ฐฉ๋ฌธ์ฒดํฌ ์œ„์น˜ (ํ๋ฅผ ๋ฝ‘๋Š” ์ˆœ๊ฐ„ ๋ฐฉ๋ฌธ์ฒดํฌ) ์•„๋ž˜ ์ฝ”๋“œ๋Š” ๋ฌธ์ œ์— ์‚ฌ์šฉ๋œ bfsํ•จ์ˆ˜ ์ผ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค static boolean move(){ Queue tmp = new LinkedList(); while(!bq.isEmpty()){ int[] c = bq.poll(); int cr = c[0], cc=c[1]; if(cr==er && cc == ec){ return true; } chk[c[0]][c[1]]=true; // ๋ฐฉ๋ฌธ์ฒดํฌ for(int d=0;d

๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ:CodingTest

[swea 1868-ํŒŒ์ด์ฌ] ํŒŒํ•‘ํŒŒํ•‘ ์ง€๋ขฐ์ฐพ๊ธฐ

์‚ฌ์šฉ์–ธ์–ด : PYTHON ํ’€์ด 1. ํ–‰ ์šฐ์„  ๋ฐฉํ–ฅ์œผ๋กœ ํƒ์ƒ‰์„ ์ง„ํ–‰ํ•˜๋‹ค 0์ธ ๊ณณ์„ ๋งŒ๋‚˜๋ฉด BFS๋ฅผ ์ˆ˜ํ–‰(์—ฐ์‡„์ ์œผ๋กœ ํด๋ฆญ)ํ•˜๋ฉฐ ์ •๋‹ต(ans)๋ฅผ 1์ฆ๊ฐ€ ์ด๋•Œ 0์œผ๋กœ ์ธํ•ด ์—ฐ์‡„์ ์œผ๋กœ ํด๋ฆญ๋œ ๊ณณ์„ -๋กœ ํ‘œ์‹œ 2. ํ–‰ ์šฐ์„  ๋ฐฉํ–ฅ์œผ๋กœ ๋‹ค์‹œ ํƒ์ƒ‰ํ•˜๋ฉฐ ์—ฐ์‡„์ ์œผ๋กœ ํด๋ฆญ๋˜์ง€ ์•Š์€ ๊ณณ์˜ ๊ฐฏ์ˆ˜๋งŒํผ ์ •๋‹ต(ans)์— ์ถ”๊ฐ€ ์ฝ”๋“œ import sys from collections import deque input = sys.stdin.readline # SWEA ํŒŒํ•‘ํŒŒํ•‘ ์ง€๋ขฐ์ฐพ๊ธฐ # 1. ์ „์ฒด๋ฅผ ํƒ์ƒ‰ํ•˜๋‹ค 0์„ ๋งŒ๋‚˜๋ฉด BFS ์ˆ˜ํ–‰ (๋ฐฉ๋ฌธ์ฒดํฌ), cnt += 1 # 2. ์ฒดํฌ ๋˜์ง€ ์•Š์€ ์นธ ์„ธ๊ธฐ def click(r, c): # ํด๋ฆญ์„ ์ˆ˜ํ–‰ํ•˜๊ณ (์ค‘๋ณต ํด๋ฆญ์€ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Œ), 0์ด๋ฉด True๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜ if arr[r][c] == '..

๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ:CodingTest

[swea 3304-ํŒŒ์ด์ฌ]์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด

swea 3304 ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด ์‚ฌ์šฉ์–ธ์–ด : PYTHON ํ’€์ด ์šฐ์„  ์ตœ์ ํ•ด(์ตœ๋Œ“๊ฐ’)์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ’€ ์ˆ˜ ์žˆ๋‹ค. ์ˆœํ™˜์‹(์ ํ™”์‹)์„ ์„ธ์šธ๋•Œ๋Š” "์ตœ์ ํ•ด์˜ ์ผ๋ถ€๋ถ„์ด ๊ทธ ๋ถ€๋ถ„์˜ ์ตœ์ ํ•ด" ๋ฅผ ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋ฌธ์ œ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋‘ ๋ฌธ์ž์—ด์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ์™€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•˜์—ฌ ์ˆœํ™˜์‹์„ ์„ธ์›Œ์•ผ ํ•œ๋‹ค. (DP(i,j)์—์„œ i์™€ j๋Š” ๋ฌธ์ž์—ด X์™€ Y์˜ 1...i, 1...j ๋ฒˆ์งธ๊นŒ์ง€์˜ ๋ฌธ์ž์—ด) (1) ๋‘ ๋ฌธ์ž์—ด์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ ์˜ˆ๋ฅผ๋“ค์–ด CDABE์™€ CDE๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ณด๋ฉด ๋งˆ์ง€๋ง‰ ๋ฌธ์ž E๊ฐ€ ๊ฐ™๋‹ค. E๋Š” ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„์ˆ˜์—ด์— ๋ฐ˜๋“œ์‹œ ํฌํ•จ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„์ˆ˜์—ด์˜ ๊ธธ์ด๋Š” ๋‘ ๋ฌธ์ž์—ด์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž E๋ฅผ ์ œ๊ฑฐํ•œ ํ›„ ์ฐพ์€ ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„์ˆ˜์—ด์˜ ๊ธธ์ด +..

mc.thd
'๐Ÿ“‚์ฝ”๋”ฉํ…Œ์ŠคํŠธ:CodingTest' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (5 Page)