๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿ’ป Computer Science191

[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS] ๋ฐฑ์ค€ 2805๋ฒˆ ๋‚˜๋ฌด ์ž๋ฅด๊ธฐ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 2805๋ฒˆ ๋‚˜๋ฌด ์ž๋ฅด๊ธฐ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด ๋ฌธ์ œ๋Š” ์ง€๋‚œ ๋žœ์„  ์ž๋ฅด๊ธฐ ๋ฌธ์ œ์™€ ๋น„์Šทํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์šฐ์„  ๋ฌธ์ œ๋ฅผ ์ฝ๊ณ  ์–ด๋–ค ๊ฒƒ์„ ์›ํ•˜๋Š”์ง€ ํŒŒ์•…๋ถ€ํ„ฐ ํ•ด๋ณด์ž. ์šฐ๋ฆฌ์—๊ฒ ๋‚˜๋ฌด์˜ ์ˆ˜ N๊ณผ ๊ทธ์— ๋”ฐ๋ฅธ ๋‚˜๋ฌด๋“ค์˜ ๋†’์ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ƒ๊ทผ์ด๊ฐ€ ์ง‘์— ๊ฐ€์ ธ๊ฐ€์•ผ ํ•  ๋‚˜๋ฌด์˜ ๋†’์ด๋˜ํ•œ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋Ÿผ ์ด๋ฅผ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •๋ฆฌํ•ด๋ณด์ž. ๋‚˜๋ฌด์˜ ์ˆ˜ N๊ณผ ๊ฐ๊ฐ์˜ ๋‚˜๋ฌด ๋†’์ด์™€ ์ƒ๊ทผ์ด๊ฐ€ ํ•„์š”ํ•œ ๋‚˜๋ฌด์˜ ๋†’์ด M์ด ์ฃผ์–ด์ง€๊ณ  M์ด ์ตœ์†Œ๊ฐ€ ๋˜๋Š” ์ ˆ๋‹จ๊ธฐ ๋†’์ด๋ฅผ ๊ตฌํ•˜๋ผ. ๊ทธ๋Ÿผ ์ ˆ๋‹จ๊ธฐ ๋†’์ด๋ฅผ 1 ~ ๋‚˜๋ฌด ์ตœ๋Œ€ ๋†’์ด์ธ 20์–ต ๊นŒ์ง€ .. 2021. 2. 13.
[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS] ๋ฐฑ์ค€ 1654๋ฒˆ ๋žœ์„  ์ž๋ฅด๊ธฐ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 1654๋ฒˆ ๋žœ์„  ์ž๋ฅด๊ธฐ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ๋ฌธ์ œ์—์„œ ์›ํ•˜๋Š” ๋‚ด์šฉ์„ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ๋ง ํ•˜์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. K๊ฐœ์˜ ๋žœ์„ ์„ N๊ฐœ๋กœ ๋‚˜๋ˆ„์–ด ์ž๋ฅผ ๋•Œ, ๊ฐ ๋žœ์„ ์˜ ๊ธธ์ด๊ฐ€ ์ตœ๋Œ€๊ฐ€ ๋˜๋Š” ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•˜๋ผ. ๊ทธ๋Ÿผ ์šฐ์„ , ์•„๋ฌด๋Ÿฐ ์ƒ๊ฐํ•˜์ง€ ๋ง๊ณ  K๊ฐœ์˜ ๋žœ์„ ์„ N๊ฐœ๋กœ ๋‚˜๋ˆ„์–ด์„œ ์ž๋ฅผ ๋•Œ ์ตœ๋Œ€์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•ด๋ณด์ž. ์–ด๋– ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ƒ๊ฐ๋‚˜์ง€ ์•Š์•„๋„ ์ข‹๋‹ค. ์•„๋‹ˆ ์ƒ๊ฐํ•˜์ง€ ๋ง๊ณ  ํ•œ ๋ฒˆ ์งœ๋ณด์ž. public static void main(String[] args) { int k = 4; int n = 11; int[] arr = {.. 2021. 2. 13.
[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS] ๋ฐฑ์ค€ 2178๋ฒˆ ๋ฏธ๋กœ ํƒ์ƒ‰ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 2178๋ฒˆ ๋ฏธ๋กœ ํƒ์ƒ‰ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ๋ฌธ์ œ๋ฅผ ์ฝ์œผ๋ฉฐ ๋ฐ”๋กœ ํŒŒ์•…ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์ตœ์†Œ์˜๋ผ๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๋Š” Dfs์™€ Bfs ๋ชจ๋‘ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” BFS๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ด€๊ณ„๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์—ฌ๊ธฐ์„œ DFS๋ฅผ ์ด์šฉํ•˜๋Š”๋ฐ, ์šด์ด ๋‚˜์˜๊ฒŒ DFS์—์„œ ์ฒ˜์Œ์œผ๋กœ ์„ ํƒํ•œ ๋…ธ๋“œ๊ฐ€ 6์ด๋ผ๊ณ  ํ•ด๋ณด์ž. ๊ทธ๋Ÿผ ์‹ค์ œ๋กœ ์ฐพ๋Š” ๋…ธ๋“œ๋Š” ๋ฐ”๋กœ ํ•œ์นธ ์•ž์— ์žˆ์ง€๋งŒ, DFS๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด 6์˜ ๋ ๊นŒ์ง€ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋Ÿฐ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ, ๊ฒฝ๋กœ๋ฌธ์ œ๋Š” BFS๋ฅผ ์ด์šฉํ•ด์„œ ํ’€์–ด์•ผ ํ•œ๋‹ค.. 2021. 2. 11.
[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS] ๋ฐฑ์ค€ 4963๋ฒˆ ์„ฌ์˜ ๊ฐœ์ˆ˜ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 4963๋ฒˆ ์„ฌ์˜ ๊ฐœ์ˆ˜ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 4963๋ฒˆ: ์„ฌ์˜ ๊ฐœ์ˆ˜ ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ์ง€๋„์˜ ๋„ˆ๋น„ w์™€ ๋†’์ด h๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. w์™€ h๋Š” 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ h๊ฐœ ์ค„์—๋Š” ์ง€๋„ www.acmicpc.net ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด ๋ฌธ์ œ๋Š” ์ „ํ˜•์ ์ธ Connected Component ๋ฌธ์ œ์ด๋‹ค. ๋‹ค๋ฅธ ๋ง๋กœ๋Š” ์—ฐ๊ฒฐ ์š”์†Œ ์ฐพ๊ธฐ๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ํ•ด๋‹น ๋ฌธ์ œ๋ณด๋‹ค ์กฐ๊ธˆ ์‰ฌ์šด ๋ฒ„์ „์ด ๋ฐฑ์ค€์˜ 11724๋ฒˆ ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ๋ฌธ์ œ์ด๋‹ค. ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ๋ฌธ์ œ .. 2021. 2. 10.
[์•Œ๊ณ ๋ฆฌ์ฆ˜ PS] ๋ฐฑ์ค€ 2667๋ฒˆ ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 2667๋ฒˆ ๋‹จ์ง€๋ฒˆํ˜ธ๋ถ™์ด๊ธฐ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด ๋ฌธ์ œ๋Š” ์ „ํ˜•์ ์ธ Connected Component ๋ฌธ์ œ์ด๋‹ค. ๋‹ค๋ฅธ ๋ง๋กœ๋Š” ์—ฐ๊ฒฐ ์š”์†Œ ์ฐพ๊ธฐ๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ํ•ด๋‹น ๋ฌธ์ œ๋ณด๋‹ค ์กฐ๊ธˆ ์‰ฌ์šด ๋ฒ„์ „์ด ๋ฐฑ์ค€์˜ 11724๋ฒˆ ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ๋ฌธ์ œ์ด๋‹ค. ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ๋ฌธ์ œ ํ’€์ด์—์„œ ํ•ด๋‹น ๋ฌธ์ œ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ์„ ๋ณผ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์„ ๋“ฏ ํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์ง€๋‚œ ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ๋ฌธ์ œ ํ’€์ด์™€ ๋‹ค๋ฅธ ์ ์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ ์ด์ฐจ์› ํ–‰๋ ฌ์ด ๊ทธ๋ž˜ํ”„๊ฐ€ ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ๋Š” ํ•˜๋‚˜์˜ ๋…ธ๋“œ๊ฐ€ ๋ช‡ ๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ๊ฐ–.. 2021. 2. 10.
[์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์Šคํ‚ฌ] ์ž๋ฐ” int ํ˜• ์ˆซ์ž ์ž๋ฆฌ์ˆ˜ ์ถœ๋ ฅํ•˜๊ธฐ ์ˆซ์ž ์ž๋ฆฌ์ˆ˜ ์ถœ๋ ฅํ•˜๊ธฐ ๋ฌธ์ œ์—์„œ ์ˆซ์ž ์ž๋ฆฌ์ˆ˜๋งˆ๋‹ค ๋ˆ„์ ํ•ฉ์„ ๊ตฌํ•˜๋ผ, ํ˜น์€ ๋ˆ„์  ๊ณฑ์„ ํ•ด๋ผ ๋ผ๋Š” ๋ฌธ์ œ๊ฐ€ ์ข…์ข… ์ถœ์ œ๋œ๋‹ค. ์‹ค์ œ๋กœ ๋ฐฑ์ค€ ๋ฌธ์ œํ’€์ด์— 2331๋ฒˆ ๋ฐ˜๋ณต ์ˆ˜์—ด์—์„œ ๋ฌธ์ œ ์กฐ๊ฑด์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์ด ์žˆ๋‹ค. N = 57, P = 2 ์ผ ๋•Œ, D[n] = D[n-1]์˜ ๊ฐ ์ž๋ฆฌ ์ˆซ์ž๋ฅผ P๋ฒˆ ๊ณฑํ•œ ์ˆ˜๋“ค์˜ ํ•ฉ ์˜ˆ๋ฅผ ๋“ค์–ด arr[1] = 57;๊ฐ€ ์žˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, arr[2] = (5 * 5) + (7 * 7) = 74๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๊ฑธ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ• ๊นŒ? ์ •๋‹ต์€ ๋ชจ๋“ˆ๋Ÿฌ ์—ฐ์‚ฐ๊ณผ ๋‚˜๋ˆ—์…ˆ์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ตฌํ˜„ ๋ชจ๋“ˆ๋Ÿฌ ์—ฐ์‚ฐ๊ณผ ๋‚˜๋ˆ—์…ˆ์„ ์ด์šฉํ•œ ๋ฐฉ๋ฒ• int number = 572; while(number > 0) { System.out.println(number % 10); // 572 % 10 = 2 number /=.. 2021. 2. 7.