[c++] BOJ 1915 :: ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜•
Algorithm ๋ฌธ์ œ/BOJ 2021. 4. 12. 23:28

๋‚œ์ด๋„ : ๊ณจ๋“œ 5 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 1์‹œ๊ฐ„ 20๋ถ„ ๋ฌธ์ œ ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜• ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ n×m์˜ 0, 1๋กœ ๋œ ๋ฐฐ์—ด์ด ์žˆ๋‹ค. ์ด ๋ฐฐ์—ด์—์„œ 1๋กœ ๋œ ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜•์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 ์œ„์™€ ๊ฐ™์€ ์˜ˆ์ œ์—์„œ๋Š” ๊ฐ€์šด๋ฐ์˜ 2×2 ๋ฐฐ์—ด์ด ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜•์ด๋‹ค. ํ’€์ด ์ž‘์€ ๋ฌธ์ œ : ํ˜„์žฌ ์œ„์น˜์—์„œ ์˜ค๋ฅธ์ชฝ๊ณผ ์•„๋ž˜ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ •์‚ฌ๊ฐํ˜•์˜ ์ตœ๋Œ€ ํฌ๊ธฐ ์žฌ๊ท€์‹ ํ•ด๋‹น ์œ„์น˜์—์„œ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ํฌ๊ธฐ ์ •์‚ฌ๊ฐํ˜•์˜ ํ•œ ๋ณ€์„ Area(row, col)์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด Area(row, col) = min(Area(row+1,col)+1, Area(row,col+1)+1, Area(row+1,col+1)+1) ์กฐ๊ฑด ๋ฒฝ์— ๋ถ™์–ด์žˆ์œผ๋ฉด Area๊ฐ€ 1 ๊ฐ’์ด ..

[c++] BOJ 1520 :: ๋‚ด๋ฆฌ๋ง‰๊ธธ
Algorithm ๋ฌธ์ œ/BOJ 2021. 3. 12. 10:41

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์™ธ๋ฒฝ์ ๊ฒ€ :: ์žฌ๊ท€, ๋ฉ”๋ชจ์ด์ œ์ด์…˜, ์ฝ”๋“œ, ๊ฒฐ๊ณผ
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2021. 1. 11. 18:02

์™ธ๋ฒฝ ์ ๊ฒ€ ๋ฌธ์ œ https://programmers.co.kr/learn/courses/30/lessons/60062# ๋ฌธ์ œ ์„ค๋ช… ๋ ˆ์Šคํ† ๋ž‘์„ ์šด์˜ํ•˜๊ณ  ์žˆ๋Š” ์Šค์นดํ”ผ๋Š” ๋ ˆ์Šคํ† ๋ž‘ ๋‚ด๋ถ€๊ฐ€ ๋„ˆ๋ฌด ๋‚ก์•„ ์นœ๊ตฌ๋“ค๊ณผ ํ•จ๊ป˜ ์ง์ ‘ ๋ฆฌ๋ชจ๋ธ๋ง ํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ์Šคํ† ๋ž‘์ด ์žˆ๋Š” ๊ณณ์€ ์Šค๋…ธ์šฐํƒ€์šด์œผ๋กœ ๋งค์šฐ ์ถ”์šด ์ง€์—ญ์ด์–ด์„œ ๋‚ด๋ถ€ ๊ณต์‚ฌ๋ฅผ ํ•˜๋Š” ๋„์ค‘์— ์ฃผ๊ธฐ์ ์œผ๋กœ ์™ธ๋ฒฝ์˜ ์ƒํƒœ๋ฅผ ์ ๊ฒ€ํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ์Šคํ† ๋ž‘์˜ ๊ตฌ์กฐ๋Š” ์™„์ „ํžˆ ๋™๊ทธ๋ž€ ๋ชจ์–‘์ด๊ณ  ์™ธ๋ฒฝ์˜ ์ด ๋‘˜๋ ˆ๋Š” n๋ฏธํ„ฐ์ด๋ฉฐ, ์™ธ๋ฒฝ์˜ ๋ช‡๋ช‡ ์ง€์ ์€ ์ถ”์œ„๊ฐ€ ์‹ฌํ•  ๊ฒฝ์šฐ ์†์ƒ๋  ์ˆ˜๋„ ์žˆ๋Š” ์ทจ์•ฝํ•œ ์ง€์ ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋‚ด๋ถ€ ๊ณต์‚ฌ ๋„์ค‘์—๋„ ์™ธ๋ฒฝ์˜ ์ทจ์•ฝ ์ง€์ ๋“ค์ด ์†์ƒ๋˜์ง€ ์•Š์•˜๋Š” ์ง€, ์ฃผ๊ธฐ์ ์œผ๋กœ ์นœ๊ตฌ๋“ค์„ ๋ณด๋‚ด์„œ ์ ๊ฒ€์„ ํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ๋น ๋ฅธ ๊ณต์‚ฌ ์ง„ํ–‰์„ ์œ„ํ•ด ์ ๊ฒ€ ์‹œ๊ฐ„์„ 1์‹œ๊ฐ„์œผ๋กœ ์ œํ•œํ–ˆ์Šต..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ :: Quantization[์–‘์žํ™”] (์ฝ”๋“œ, ์•Œ๊ณ ๋ฆฌ์ฆ˜)
Algorithm ๋ฌธ์ œ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ•ด๊ฒฐ์ „๋žต 2020. 5. 10. 14:06

Quantization https://www.algospot.com/judge/problem/read/QUANTIZE ๋‚˜์˜ ๋‹ต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—ด์„ ์ •๋ ฌํ•œ๋‹ค. ๋ถ€๋ถ„ ์ˆ˜์—ด๋“ค์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋Œ๋ฉด์„œ ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ์˜ค์ฐจํ•ฉ์ด ๊ฐ€์žฅ ์ ์€ ์ˆ˜์—ด์„ ๊ตฌํ•œ๋‹ค. 2๋ฒˆ ๊ณผ์ •์— ๋Œ€ํ•ด์„œ ์ตœ์ ๋ถ€๋ถ„๊ตฌ์กฐ์ž„์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ๊ฐ ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ์˜ค์ฐจํ•ฉ์„ ๋ฉ”๋ชจ์ด์ œ์ด์…˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜์—ฌ์•ผํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋ณธ์ธ์€ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๋ชจ๋‘ ์™„์„ฑํ–ˆ์„ ๋•Œ ์ง„ํ–‰ํ•˜๋Š” ์‹์œผ๋กœ ํ•˜์—ฌ ์–ด์จŒ๋“  ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๋งŒ๋“œ๋Š” ์žฌ๊ท€ํ•จ์ˆ˜์˜ ๋์— ๋„๋‹ฌํ•ด์•ผ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ์ด ์ ์ด ์‹œ๊ฐ„์ดˆ๊ณผ์˜ ์›์ธ์ด ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์ฝ”๋“œ ์ฝ”๋“œ1 #include #include using namespace std; int N, S; int arr[100]; int* num_idx..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ :: PI (์ •๋‹ต ์ฝ”๋“œ x)
Algorithm ๋ฌธ์ œ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ•ด๊ฒฐ์ „๋žต 2020. 4. 26. 10:19

PI https://www.algospot.com/judge/problem/read/PI ๋ฌธ์ œ (์ฃผ์˜: ์ด ๋ฌธ์ œ๋Š” TopCoder ์˜ ๋ฒˆ์—ญ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.) ๊ฐ€๋” TV ์— ๋ณด๋ฉด ์›์ฃผ์œจ์„ ๋ช‡๋งŒ ์ž๋ฆฌ๊นŒ์ง€ ์ค„์ค„ ์™ธ์šฐ๋Š” ์‹ ๋™๋“ค์ด ๋“ฑ์žฅํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์ด ์ด ์ˆ˜๋ฅผ ์™ธ์šฐ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ์ˆซ์ž๋ฅผ ๋ช‡ ์ž๋ฆฌ ์ด์ƒ ๋Š์–ด ์™ธ์šฐ๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ ์ˆซ์ž๋ฅผ ์„ธ ์ž๋ฆฌ์—์„œ ๋‹ค์„ฏ ์ž๋ฆฌ๊นŒ์ง€๋กœ ๋Š์–ด์„œ ์™ธ์šฐ๋Š”๋ฐ, ๊ฐ€๋Šฅํ•˜๋ฉด 55555 ๋‚˜ 123 ๊ฐ™์ด ์™ธ์šฐ๊ธฐ ์‰ฌ์šด ์กฐ๊ฐ๋“ค์ด ๋งŽ์ด ๋“ฑ์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํƒํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ, ๊ฐ ์กฐ๊ฐ๋“ค์˜ ๋‚œ์ด๋„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •ํ•ด์ง‘๋‹ˆ๋‹ค: ๋ชจ๋“  ์ˆซ์ž๊ฐ€ ๊ฐ™์„ ๋•Œ (์˜ˆ: 333, 5555) ๋‚œ์ด๋„: 1 ์ˆซ์ž๊ฐ€ 1์”ฉ ๋‹จ์กฐ ์ฆ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋‹จ์กฐ ๊ฐ์†Œํ•  ๋•Œ (์˜ˆ: 23456, 3210) ๋‚œ์ด๋„: 2 ๋‘ ๊ฐœ์˜ ์ˆซ..

[c++] BOJ 9251๋ฒˆ :: LCS (ํ’€์ด ๋ฐ ์„ค๋ช… + ๋” ๋‚˜์€ ์ฝ”๋“œ)
Algorithm ๋ฌธ์ œ/BOJ 2020. 4. 18. 23:04

LCS ์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งž์€ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 1 ์ดˆ 256 MB 19827 8068 6050 41.148% ๋ฌธ์ œ LCS(Longest Common Subsequence, ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด)๋ฌธ์ œ๋Š” ๋‘ ์ˆ˜์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋‘์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด์ด ๋˜๋Š” ์ˆ˜์—ด ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ฒƒ์„ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ACAYKP์™€ CAPCAK์˜ LCS๋Š” ACAK๊ฐ€ ๋œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„๊ณผ ๋‘˜์งธ ์ค„์— ๋‘ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ์ตœ๋Œ€ 1000๊ธ€์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‘ ๋ฌธ์ž์—ด์˜ LCS์˜ ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‚˜์˜ ๋‹ต ์ƒ๊ฐ์˜ ํ๋ฆ„ ์™„์ „ํƒ์ƒ‰ ์กฐ๊ฑด ์ค˜๋„ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์šฐ์„  ์™„์ „ํƒ์ƒ‰์„ ๊ตฌํ˜„ํ•  ๋•Œ๋Š” s..