[c++] BOJ 18119 :: ๋‹จ์–ด ์•”๊ธฐ
Algorithm ๋ฌธ์ œ/BOJ 2021. 8. 10. 21:58

๋ฌธ์ œ ๋‹จ์–ด ์•”๊ธฐ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ์ค€์„์ด๋Š” ์˜์–ด ๋‹จ์–ด๋ฅผ ์™ธ์šฐ๋ ค๊ณ  ํ•œ๋‹ค. ์‚ฌ์ „์—๋Š” N๊ฐ€์ง€ ๋‹จ์–ด๊ฐ€ ์ ํ˜€ ์žˆ๋‹ค. ๋ชจ๋“  ๋‹จ์–ด๋Š” ์†Œ๋ฌธ์ž์ด๋‹ค. ๋‹จ์–ด ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ์•ŒํŒŒ๋ฒณ์„ ์•Œ ๋•Œ, ๊ทธ ๋‹จ์–ด๋ฅผ ์™„์ „ํžˆ ์•ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฟผ๋ฆฌ๋“ค์ด ์ฃผ์–ด์ง„๋‹ค. 1 x : ์•ŒํŒŒ๋ฒณ x๋ฅผ ์žŠ๋Š”๋‹ค. 2 x : ์•ŒํŒŒ๋ฒณ x๋ฅผ ๊ธฐ์–ตํ•ด ๋‚ธ๋‹ค. ์ฒ˜์Œ์— ๋ชจ๋“  ์•ŒํŒŒ๋ฒณ์„ ๊ธฐ์–ตํ•˜๋Š” ์ƒํƒœ๊ณ , ๋ชจ์Œ์€ ์™„๋ฒฝํ•˜๊ฒŒ ์™ธ์› ๊ธฐ ๋•Œ๋ฌธ์— ์ ˆ๋Œ€ ์žŠ์ง€ ์•Š๋Š”๋‹ค. ๊ฐ ์ฟผ๋ฆฌ๋งˆ๋‹ค ์™„์ „ํžˆ ์•Œ๊ณ  ์žˆ๋Š” ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ๋ผ. ํ’€์ด ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ 10^3์ด๋‚˜ ๋˜๋ฏ€๋กœ ์ผ์ผ์ด ๋น„๊ตํ•˜๊ธฐ ํž˜๋“ฌ bit ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์•ˆ ์ƒ๊ฐ ์•ŒํŒŒ๋ฒณ 26์ž๋ฆฌ๋ฅผ bitmap์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ๋•Œ 2^26 < (2^3)^9 < 10^10 ์ด๋ฏ€๋กœ ์ถฉ๋ถ„ํžˆ int ํ˜•์œผ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ ์ฝ”๋“œ #include #incl..

[c++] BOJ 1062 :: ๊ฐ€๋ฅด์นจ
Algorithm ๋ฌธ์ œ/BOJ 2021. 8. 10. 21:57

๋ฌธ์ œ ๊ฐ€๋ฅด์นจ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋‚จ๊ทน์— ์‚ฌ๋Š” ๊น€์ง€๋ฏผ ์„ ์ƒ๋‹˜์€ ํ•™์ƒ๋“ค์ด ๋˜๋„๋ก์ด๋ฉด ๋งŽ์€ ๋‹จ์–ด๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ตฌ์˜จ๋‚œํ™”๋กœ ์ธํ•ด ์–ผ์Œ์ด ๋…น์•„์„œ ๊ณง ํ•™๊ต๊ฐ€ ๋ฌด๋„ˆ์ง€๊ธฐ ๋•Œ๋ฌธ์—, ๊น€์ง€๋ฏผ์€ K๊ฐœ์˜ ๊ธ€์ž๋ฅผ ๊ฐ€๋ฅด์น  ์‹œ๊ฐ„ ๋ฐ–์— ์—†๋‹ค. ๊น€์ง€๋ฏผ์ด ๊ฐ€๋ฅด์น˜๊ณ  ๋‚œ ํ›„์—๋Š”, ํ•™์ƒ๋“ค์€ ๊ทธ K๊ฐœ์˜ ๊ธ€์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๋งŒ์„ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค. ๊น€์ง€๋ฏผ์€ ์–ด๋–ค K๊ฐœ์˜ ๊ธ€์ž๋ฅผ ๊ฐ€๋ฅด์ณ์•ผ ํ•™์ƒ๋“ค์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ตœ๋Œ€๊ฐ€ ๋˜๋Š”์ง€ ๊ณ ๋ฏผ์— ๋น ์กŒ๋‹ค. ๋‚จ๊ทน์–ธ์–ด์˜ ๋ชจ๋“  ๋‹จ์–ด๋Š” "anta"๋กœ ์‹œ์ž‘๋˜๊ณ , "tica"๋กœ ๋๋‚œ๋‹ค. ๋‚จ๊ทน์–ธ์–ด์— ๋‹จ์–ด๋Š” N๊ฐœ ๋ฐ–์— ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ํ•™์ƒ๋“ค์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋‹จ์–ด์˜ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ’€์ด brute force๋กœ ์ฐพ๊ธฐ (N์ด ์ž‘์Œ) ์กฐ๊ฑด๋“ค์„ ์ด์šฉํ•˜์—ฌ ์ตœ๋Œ€ํ•œ ์‹œ๊ฐ„๋ณต์žก๋„ ์ค„์ด๊ธฐ ..

[c++] BOJ 17244 :: ์•„๋งž๋‹ค์šฐ์‚ฐ
Algorithm ๋ฌธ์ œ/BOJ 2021. 8. 2. 16:32

๋ฌธ์ œ ์•„๋งž๋‹ค ์šฐ์‚ฐ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๊ฒฝ์žฌ์”จ๋Š” ์ €๋… ์•ฝ์†์„ ๊ฐ€๊ธฐ ์ „ ์ฑ™๊ธฐ์ง€ ์•Š์€ ๋ฌผ๊ฑด๋“ค์ด ์žˆ๋Š” ์ง€ ํ™•์ธํ•˜๊ณ  ์žˆ๋‹ค. ํ•„์š”ํ•œ ๋ฌผ๊ฑด์€ ์ „๋ถ€ ์ฑ™๊ธด ๊ฒƒ ๊ฐ™์•˜๊ณ  ์™ธ์ถœ ํ›„ ๋Œ์•„์˜ค๋Š” ๊ธธ์— ๊ฒฝ์žฌ์”จ๋Š” ์™ธ์ณค๋‹ค. "์•„ ๋งž๋‹ค ์šฐ์‚ฐ!!!" ๊ฒฝ์žฌ ์”จ๋Š” ๋งค๋ฒˆ ์™ธ์ถœํ•˜๊ณ  ๋‚˜์„œ์•ผ ์–ด๋–ค ๋ฌผ๊ฑด์„ ์ง‘์— ๋†“๊ณ  ์™”๋‹ค๋Š” ๊ฒƒ์„ ๋– ์˜ฌ๋ฆด ๋•Œ๋งˆ๋‹ค ์ž์ฑ…๊ฐ์— ์‹œ๋‹ฌ๋ฆฌ๋Š” ๊ฒƒ์ด ๋„ˆ๋ฌด ์‹ซ์—ˆ๋‹ค. ์™ธ์ถœ์ด ์žฆ์€ ๊ฒฝ์žฌ ์”จ๋Š” ๋ฐ˜๋ณต๋˜๋Š” ์ผ์„ ๊ทผ์ ˆํ•˜๊ธฐ ์œ„ํ•ด ๊ผญ ์ฑ™๊ฒจ์•ผ ํ•  ๋ฌผ๊ฑด๋“ค์„ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค. ํ•˜์ง€๋งŒ ์ง€๊ฐ‘, ์Šค๋งˆํŠธํฐ, ์šฐ์‚ฐ, ์ฐจ ํ‚ค, ์ด์–ดํฐ, ์‹œ๊ณ„, ๋ณด์กฐ ๋ฐฐํ„ฐ๋ฆฌ ๋“ฑ ์ข…๋ฅ˜์™€ ๊ฐœ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•˜๋‹ค. ํ‰์†Œ ๋ถˆํ•„์š”ํ•œ ์›€์ง์ž„์„ ์•„์ฃผ ์‹ซ์–ดํ•˜๋Š” ๊ฒฝ์žฌ ์”จ๋Š” ์ด ๋ฌผ๊ฑด๋“ค์„ ์ตœ๋Œ€ํ•œ ๋น ๋ฅด๊ฒŒ ์ฑ™๊ฒจ์„œ ์™ธ์ถœํ•˜๋Š” ์ด๋™ ๊ฒฝ๋กœ๋ฅผ ์•Œ๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ฒฝ์žฌ ์”จ๋Š” ํ•œ ๊ฑธ์Œ์— ์ƒํ•˜์ขŒ์šฐ์— ์ธ์ ‘ํ•œ ์นธ์œผ๋กœ๋งŒ ์›€์ง์ผ ์ˆ˜ ์žˆ๋‹ค. ๊ฒฝ์žฌ ์”จ..

[c++] BOJ 1194 :: ๋‹ฌ์ด ์ฐจ์˜ค๋ฅธ๋‹ค ๊ฐ€์ž
Algorithm ๋ฌธ์ œ/BOJ 2021. 6. 2. 22:00

๋‚œ์ด๋„ : ๊ณจ๋“œ 1 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : ๋งŽ์ด ๋ฌธ์ œ ๋‹ฌ์ด ์ฐจ์˜ค๋ฅธ๋‹ค ๊ฐ€์ž ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ๋ฏผ์‹์ด๋Š” ์ง€๊ธˆ ๋ฏธ๋กœ ์†์— ์žˆ๋‹ค. ๋ฏธ๋กœ๋Š” ์ง์‚ฌ๊ฐํ˜• ๋ชจ์–‘์ด๊ณ , ์—ฌํ–‰๊ธธ์„ ๋– ๋‚˜๊ธฐ ์œ„ํ•ด ๋ฏธ๋กœ๋ฅผ ํƒˆ์ถœํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋ฏธ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด์ ธ์žˆ๋‹ค. ๋นˆ ๊ณณ : ์–ธ์ œ๋‚˜ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ('.‘๋กœ ํ‘œ์‹œ๋จ) ๋ฒฝ : ์ ˆ๋Œ€ ์ด๋™ํ•  ์ˆ˜ ์—†๋‹ค. (‘#’) ์—ด์‡  : ์–ธ์ œ๋‚˜ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ณณ์— ์ฒ˜์Œ ๋“ค์–ด๊ฐ€๋ฉด ์—ด์‡ ๋ฅผ ์ง‘๋Š”๋‹ค. (a - f) ๋ฌธ : ๋Œ€์‘ํ•˜๋Š” ์—ด์‡ ๊ฐ€ ์žˆ์„ ๋•Œ๋งŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. (A - F) ๋ฏผ์‹์ด์˜ ํ˜„์žฌ ์œ„์น˜ : ๋นˆ ๊ณณ์ด๊ณ , ๋ฏผ์‹์ด๊ฐ€ ํ˜„์žฌ ์„œ ์žˆ๋Š” ๊ณณ์ด๋‹ค. (์ˆซ์ž 0) ์ถœ๊ตฌ : ๋‹ฌ์ด ์ฐจ์˜ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ๋ฏผ์‹์ด๊ฐ€ ๊ฐ€์•ผํ•˜๋Š” ๊ณณ์ด๋‹ค. ์ด ๊ณณ์— ์˜ค๋ฉด ๋ฏธ๋กœ๋ฅผ ํƒˆ์ถœํ•œ๋‹ค. (์ˆซ์ž 1) ๋‹ฌ์ด ์ฐจ์˜ค๋ฅด๋Š” ๊ธฐํšŒ๋ฅผ ๋†“์น˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ, ๋ฏธ๋กœ๋ฅผ ํƒˆ์ถœํ•˜๋ ค..