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

๐Ÿ’ป Computer Science/- Data Structure, Algorithm147

[์•Œ๊ณ ๋ฆฌ์ฆ˜-PS] ๋ฐฑ์ค€ 1325๋ฒˆ ํšจ์œจ์ ์ธ ํ•ดํ‚น ์ž๋ฐ” ๋ฌธ์ œํ’€์ด (์‹œ๊ฐ„ ์ดˆ๊ณผ ํ•ด๊ฒฐ) ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 1325๋ฒˆ ํšจ์œจ์ ์ธ ํ•ดํ‚น ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด ๋ฌธ์ œ๋Š” ๊ฐ„๋‹จํ•œ dfs/bfs ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ด ์ž…๋ ฅ์ด 1๋งŒ๊ฐœ๊ฐ€ ์ตœ์•…์˜ ๊ฒฝ์šฐ ๋“ค์–ด์˜ค๊ณ  ๊ฐ๊ฐ์˜ ๋…ธ๋“œ์˜ dfs ๊ฒฐ๊ณผ๋ฅผ ํƒ์ƒ‰ํ•ด์•ผ ํ•˜๋‹ˆ ์กฐ๊ธˆ ๊ฐ„๋‹น๊ฐ„๋‹นํ•˜๊ฒŒ ์‹œ๊ฐ„ ๋ณต์žก๋„์— ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด ๋ฌธ์ œ๋Š” ์ผ๋ฐ˜์ ์ธ dfs๋กœ ํ•ด๊ฒฐํ•˜๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ํ•ด๊ฒฐ๋ฒ• ์ด ๋ฌธ์ œ๋Š” ์žฌ๊ท€ dfs, ์Šคํƒ dfs ๋“ฑ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด์„œ ๊ตฌํ˜„์„ ํ•ด๋ณด์•˜์ง€๋ฏผ ๊ฒฐ๊ณผ๋ฅผ ์กฐ๊ธˆ ๋” ๋นจ๋ฆฌ ๋‚ผ ์ˆ˜ ์žˆ๋Š” bfs ๋กœ ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ํ•ดํ‚นํ•  ์ˆ˜ ์žˆ๋Š” ๋…ธ๋“œ์˜ ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด.. 2021. 7. 27.
[์•Œ๊ณ ๋ฆฌ์ฆ˜-PS] ๋ฐฑ์ค€ 1092๋ฒˆ ๋ฐฐ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 1092๋ฒˆ ๋ฐฐ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 1092๋ฒˆ: ๋ฐฐ ์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๊ฐ ํฌ๋ ˆ์ธ์˜ ๋ฌด๊ฒŒ ์ œํ•œ์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ฐ’์€ 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์…‹์งธ ์ค„์—๋Š” ๋ฐ•์Šค์˜ ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. M์€ 10,000๋ณด www.acmicpc.net ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด ๋ฌธ์ œ๋Š” ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด์„œ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ํ•ด๊ฒฐ๋ฒ• ์ด ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ์บ์น˜ํ•ด์•ผํ•  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋‹จ์„œ๋Š” ๋ฐ”๋กœ ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ์„ ํ•  ๊ฒƒ์ธ์ง€์ด๋‹ค. ์ด๋ฒˆ ๋ฌธ์ œ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋ฐ•์Šค์˜ ๋ฌด๊ฒŒ์™€ ํฌ๋ ˆ์ธ์˜ ๋‚ด๋ฆผ์ฐจ.. 2021. 7. 21.
[์•Œ๊ณ ๋ฆฌ์ฆ˜-PS] ๋ฐฑ์ค€ 1263 ์‹œ๊ฐ„ ๊ด€๋ฆฌ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 1263 ์‹œ๊ฐ„ ๊ด€๋ฆฌ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ๊ฐ„๋‹จํ•œ ๊ทธ๋ฆฌ๋””์™€ ์ •๋ ฌ์„ ์ด์šฉํ•œ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋…์„ ๋ฌป๋Š” ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™๋‹ค ํ•ด๊ฒฐ๋ฒ• ์ด๋Ÿฌํ•œ ์ž…๋ ฅ์ด ๋“ค์–ด์˜ค๊ณ  ๊ฐ€์žฅ ๋Šฆ๊ฒŒ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์€ ๋ชจ๋“  ๊ณผ์ œ๊ฐ€ ๋งˆ์ง€๋ง‰์œผ๋กœ ๋๋‚˜๋Š” ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋‚˜์”ฉ ๊ณผ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด ๋œ๋‹ค ์ •๋‹ต ์ฝ”๋“œ public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new.. 2021. 7. 20.
[์•Œ๊ณ ๋ฆฌ์ฆ˜-PS] ๋ฐฑ์ค€ 1343๋ฒˆ ํด๋ฆฌ์˜ค๋ฏธ๋…ธ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 1343๋ฒˆ ํด๋ฆฌ์˜ค๋ฏธ๋…ธ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 1343๋ฒˆ: ํด๋ฆฌ์˜ค๋ฏธ๋…ธ ์ฒซ์งธ ์ค„์— ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์„œ๋Š” ๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ๋ฎ์„ ์ˆ˜ ์—†์œผ๋ฉด -1์„ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด ๋ฌธ์ œ๋Š” ์ „ํ˜•์ ์ธ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด์„œ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ฆฌ๋”” ๊ธฐ์ดˆ ๋ฌธ์ œ์ด๋‹ค. ํ•ด๊ฒฐ๋ฒ• ์ž…๋ ฅ์ด ๋“ค์–ด์˜ฌ ๋•Œ, AAAA ๋ฅผ ๋จผ์ € ์ฑ„์šฐ๋Š” ๊ฒƒ์ด ์‚ฌ์ „์ˆœ ์•ž์œผ๋กœ ์˜ค๋Š” ์ •๋‹ต์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— AAAA ๊ฐ€ ๋จผ์ € ์ฑ„์›Œ์ง€๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ณ , ๊ทธ ๋‹ค์Œ์œผ๋กœ BB ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋งˆ์ง€๋ง‰๊นŒ์ง€ iteration ํ•˜๋ฉด ๋œ๋‹ค. ์ •๋‹ต ์ฝ”๋“œ .. 2021. 7. 14.
[์•Œ๊ณ ๋ฆฌ์ฆ˜-PS] ๋ฐฑ์ค€ 1105๋ฒˆ ํŒ” ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ ๋ฌธ์ œ ์ด๋ฆ„ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 1105๋ฒˆ: ํŒ” ์ฒซ์งธ ์ค„์— L๊ณผ R์ด ์ฃผ์–ด์ง„๋‹ค. L์€ 2,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ , R์€ L๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 2,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ’€์–ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ˆซ์ž a์™€ b๊ฐ€ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๊ฒŒ ๋œ๋‹ค๋ฉด, a์™€ b ์‚ฌ์ด์— 8์ด ์ตœ์†Œ๋กœ ๋“ค์–ด๊ฐ€๋Š” ์ˆ˜๊ฐ€ 8์„ ํฌํ•จํ•˜๋Š” ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•ต์‹ฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. a์™€ b๊ฐ€ ์ž๋ฆฌ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ๋ฌด์กฐ๊ฑด 0 a์™€ b๊ฐ€ ์ž๋ฆฌ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค.. 2021. 7. 13.
[์•Œ๊ณ ๋ฆฌ์ฆ˜-PS] ๋ฐฑ์ค€ 1080๋ฒˆ ํ–‰๋ ฌ ์ž๋ฐ” ๋ฌธ์ œํ’€์ด ๋ฌธ์ œ ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ๋ฐฑ์ค€์˜ 1080๋ฒˆ ํ–‰๋ ฌ ์˜ ์ ‘๊ทผ๊ณผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ ๊ธ€ ์ž…๋‹ˆ๋‹ค. ์ •๋‹ต ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹œ๋ ค๋ฉด solve url ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณด์ž. ๋ฌธ์ œ ์ ‘๊ทผ ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ œ์—์„œ๋Š” ์‹œ์ž‘ ํ–‰๋ ฌ๊ณผ ํƒ€๊นƒ ํ–‰๋ ฌ์„ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. 3 by 3์˜ ๋ถ€๋ถ„ ํ–‰๋ ฌ ์„ ๋น„ํŠธ ๋ฐ˜์ „ ์‹œ์ผฐ์„ ๋•Œ, ์ตœ์†Œ ๋ช‡ ๋ฒˆ์˜ ๋ฐ˜์ „์„ ์‹œ์ผœ์•ผ ํƒ€๊นƒ ํ–‰๋ ฌ๊ณผ ๋™์ผํ•˜๊ฒŒ ๋˜๋Š”์ง€ ์ตœ์†Œ ํšŒ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ํ•ด๊ฒฐ๋ฒ• n by m ํ–‰๋ ฌ์ด ์žˆ๋‹ค๋ฉด ๋ฐฐ์—ด ์›์†Œ ํ•˜๋‚˜์”ฉ iteration ํ•˜๋ฉด์„œ start ํ–‰๋ ฌ๊ณผ target ํ–‰๋ ฌ์˜ ์›์†Œ๊ฐ€ ๋™์ผํ•˜๋‹ค๋ฉด ๋„˜์–ด๊ฐ€๊ณ  ๋™์ผํ•˜์ง€ ์•Š๋‹ค๋ฉด flip ํ•˜๋ฉด ๋œ๋‹ค. ์ •๋‹ต ์ฝ”๋“œ public cla.. 2021. 7. 13.