2020/11 6

๋ฐฑ์ค€ 1322 | ๋น„ํŠธ ์—ฐ์‚ฐ, X์™€ K

CT ๋ถ€์…”๋ณด๊ธฐ ์ด๋ฒˆ ๋ฌธ์ œ๋„ SSAFY๋ฅผ ์ค€๋น„ํ•˜๋ฉฐ ์ถ”์ฒœ ๋ฐ›์€ ๋ฌธ์ œ์—ฌ์„œ ํ’€๊ฒŒ ๋˜์—ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๋น„ํŠธ ์—ฐ์‚ฐ์„ ์‘์šฉํ•ด ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ธ๋ฐ, ์ง€๊ธˆ๊นŒ์ง€ ๋น„ํŠธ ์—ฐ์‚ฐ์ด๋ผ๋Š” ๋ง์„ ๋“ค์–ด๋งŒ ๋ดค์ง€ ์ •ํ™•ํžˆ ๋ฌด์—‡์ธ์ง€ ๊ณต๋ถ€ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ๋น„ํŠธ ์—ฐ์‚ฐ์€ ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋น„๊ต ์—ฐ์‚ฐ์ž๋กœ ์‚ฌ์šฉํ•˜๋˜ & ๋‚˜ | ๋“ฑ์„ ํ™œ์šฉํ•ด ๋น„ํŠธ(bit, 2์ง„์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ ๋‹จ์œ„)๋ฅผ ์—ฐ์‚ฐํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋จผ์ € ๋น„ํŠธ ์—ฐ์‚ฐ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ๋ฐฑ์ค€ ๋ฌธ์ œ๋กœ ๋„˜์–ด๊ฐ€๋„๋ก ํ•˜์ž! ๋น„ํŠธ ์—ฐ์‚ฐ ์ฝ”๋”ฉ๊ต์œก ํ‹ฐ์”จํ”ผ์Šค์ฟจ 4์ฐจ์‚ฐ์—…ํ˜๋ช…, ์ฝ”๋”ฉ๊ต์œก, ์†Œํ”„ํŠธ์›จ์–ด๊ต์œก, ์ฝ”๋”ฉ๊ธฐ์ดˆ, SW์ฝ”๋”ฉ, ๊ธฐ์ดˆ์ฝ”๋”ฉ๋ถ€ํ„ฐ ์ž๋ฐ” ํŒŒ์ด์ฌ ๋“ฑ tcpschool.com ์ฒ˜์Œ ๋…ํ•™์„ ํ•˜๋ฉฐ ๋น„๊ต ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•  ๋•Œ ๋‹จ์ˆœํžˆ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๋Š” ์šฉ๋„๋กœ๋งŒ ์ƒ๊ฐํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” ์ƒ์ „ ๋“ฃ์ง€๋„ ๋ณด์ง€๋„ ๋ชป..

Algorithm 2020.11.25

๋ฐฑ์ค€ 1158 | Queue, ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ

Queue Queue๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ, FIFO(First In First Out, ์„ ์ž…์„ ์ถœ) ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ๋จผ์ € ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜๊ฐ€๋Š” ๊ตฌ์กฐ๋ฅผ ๋œปํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋œ ์‹œ๊ฐ„ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ์ƒํ™ฉ์— ์‚ฌ์šฉํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(BFS)์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ์š”์„ธํ‘ธ์Šค ์ˆœ์—ด 1158๋ฒˆ: ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net SSAFY๋ฅผ ์ค€๋น„ํ•˜๋ฉฐ ์˜คํ”ˆ์นดํ†ก๋ฐฉ์—์„œ ์ด๋Ÿฐ ์ €๋Ÿฐ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋˜ ์ค‘ CT๋ฅผ ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•ด ์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์„ ๊ณต๋ถ€ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ด์•ผ๊ธฐ๋ฅผ ๋“ค์–ด ์ ‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๋Š” N๋ช…์˜ ์ธ์›์ˆ˜(๋ฐฐ์—ด์˜ ๊ธธ์ด)์™€ ์ˆœ์„œ๋Œ€๋กœ M ๋ฒˆ์งธ์— ์ œ๊ฑฐํ•  ์ •์ˆ˜..

Algorithm 2020.11.25

๋ฐฑ์ค€ 10816 | ์ˆซ์ž ์นด๋“œ 2

์ˆซ์ž ์นด๋“œ 2 - ๋ฐฑ์ค€ 10816 ๋‚˜๋ฅผ ๋ฏธ์น˜๊ฒŒ ๋งŒ๋“  ๋ฌธ์ œ ์ˆ˜๋งŽ์€ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ, ์‹œ๊ฐ„ ์ดˆ๊ณผ, ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๋ฅผ ๊ฒช์œผ๋ฉด์„œ ๋ฏธ์ณ๋ฒ„๋ฆฌ๋Š” ์ค„ ์•Œ์•˜๋‹ค. ์ด์ง„ ํƒ์ƒ‰์œผ๋กœ ํ’€์–ด๋ณด๊ธฐ package ์‹ฌ์„ฑํ—Œ.์•Œ๊ณ ๋ฆฌ์ฆ˜_5์ฃผ์ฐจ.๋ฐฑ์ค€; import java.io.*; import java.util.*; public class ์ˆซ์ž์นด๋“œ2_10816_binary { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); static StringBuffer sb = new StringBuffer(); st..

Algorithm 2020.11.07

ํƒ์ƒ‰ | ์ˆœ์ฐจ ํƒ์ƒ‰, ์ด์ง„ ํƒ์ƒ‰, ๋ถ€ํ’ˆ ์ฐพ๊ธฐ

์ˆœ์ฐจ ํƒ์ƒ‰ / ์ด์ง„ ํƒ์ƒ‰ ์ˆœ์ฐจ ํƒ์ƒ‰ ๋ฐฐ์—ด ์•ˆ์— ์žˆ๋Š” ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ์•ž์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ์ฐจ๋ก€๋Œ€๋กœ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฐฐ์—ด์—์„œ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋ฌด๋ฆฌ ๋งŽ์•„๋„ ์‹œ๊ฐ„์ด ์ถฉ๋ถ„ํ•˜๋‹ค๋ฉด ํ•ญ์ƒ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ์ œ์ผ ์ฒ˜์Œ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” **O(N)** ์ด๋‹ค. (N = ๋ฐฐ์—ด์˜ ๊ธธ์ด) (๋ญ”๊ฐ€ ๋ฒ„๋ธ” ์ •๋ ฌ๊ณผ ๋น„์Šทํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐ™๋‹ค.) ์ด์ง„ ํƒ์ƒ‰ ๋ฐฐ์—ด์ด ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค๋Š” ์ „์ œ ํ•˜์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์‹œ์ž‘์ ๊ณผ ๋์ ์„ ์ด์šฉํ•ด ์ค‘๊ฐ„์ ์„ ์ฐพ๊ณ , ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ์™€ ์ค‘๊ฐ„์ ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งž์„ ๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. ์ฆ‰, ์žฌ๊ท€ ํ•จ์ˆ˜ ๋˜๋Š” ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํƒ์ƒ‰ ๋ฒ”์œ„๋ฅผ ์ ˆ๋ฐ˜์”ฉ ์ค„์—ฌ ๋‚˜๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ๋น ..

Algorithm 2020.11.07

๋ฐฑ์ค€ 2667 | DFS, ๋‹จ์ง€ ๋ฒˆํ˜ธ ๋ถ™์ด๊ธฐ

๊ทธ๋ž˜ํ”„, DFS, BFS ๋ณต์Šตํ•˜๊ธฐ 4-1) Graph, DFS, BFS ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ www.notion.so ์–ผ์Œ๊ณผ ๋ฏธ๋กœ ๊ทธ ์‚ฌ์ด ์–ด๋”˜๊ฐ€ ์ฒ˜์Œ ๋ฌธ์ œ๋ฅผ ์ ‘ํ–ˆ์„ ๋•Œ, ์ธ์ ‘ ํ–‰๋ ฌ๋กœ ๋งŒ๋“ค์–ด์ง„ ํ…Œ์ด๋ธ”์„ ๋ณด๊ณ  "BFS๋กœ ํ’€์–ด์•ผ ํ•˜๋‚˜?" ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ตฌ์กฐ๋Š” ๊ธฐ์–ต์ด ๋‚˜์ง€ ์•Š์ง€๋งŒ BFS(๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰)์ด ์žฌ๊ท€๋‚˜ Stack ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , Queue ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ณต๋ถ€ ํ–ˆ๋˜ ๋‚ด์šฉ์„ ํ†บ์•„๋ณด๋ฉฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ๋„์ „! BFS! package ์‹ฌ์„ฑํ—Œ.์•Œ๊ณ ๋ฆฌ์ฆ˜_5์ฃผ์ฐจ; import java.io.*; import java.util.*; public class ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ_BFS { static BufferedReader br = new BufferedReader(new Input..

Algorithm 2020.11.02

๋ฐฑ์ค€ 2138 | ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ „๊ตฌ์™€ ์Šค์œ„์น˜

์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ๋‚ด๊ฐ€ ๋„ˆ๋ฌด ๋‹ต๋‹ตํ•˜๋‹ค! SSAFY ์ค€๋น„๋ฅผ ์œ„ํ•ด CT(Computer Thinking) ๋ฌธ์ œ๋ฅผ ์—ฐ์Šตํ•˜๋˜ ์ค‘ ์นด๋“œ ๋’ค์ง‘๊ธฐ ๋ฌธ์ œ๋ฅผ ๋งŒ๋‚ฌ๋‹ค. ๋”๋ณด๊ธฐ ์นด๋“œ ๋’ค์ง‘๊ธฐ N๊ฐœ์˜ ์นด๋“œ๊ฐ€ ์•ž๋ฉด์€ 1 ๋’ท๋ฉด์€ 0 ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. 1๋ฒˆ์˜ '์ฐฌ์Šค' ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ i๋ฒˆ์งธ, i-1๋ฒˆ์งธ, i+1๋ฒˆ์งธ ์นด๋“œ๋ฅผ ๋™์‹œ์— ๋’ค์ง‘๋Š”๋‹ค.(1๋ฒˆ์˜ ์ฐฌ์Šค๋กœ ์ธ์ ‘ํ•œ ์นด๋“œ๊นŒ์ง€ ๋’ค์ง‘๋Š”๋‹ค.) ์นด๋“œ์˜ ์•ž,๋’ท ๋ฉด ์ •๋ณด๊ฐ€ 0๊ณผ 1 ๋กœ ์ฃผ์–ด์งˆ ๋•Œ ๋ชจ๋‘ ๋’ท๋ฉด์œผ๋กœ ๋งŒ๋“œ๋Š” ์ตœ์†Œ ์ฐฌ์Šค ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜์—ฌ๋ผ. ์˜ˆ์‹œ) 0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 ์˜ˆ์‹œ๋‹ต) 3 ํšŒ ์˜ˆ์‹œํ’€์ด) 1ํšŒ> 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 2ํšŒ> 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 3..

Algorithm 2020.11.01