[c++] BOJ 15961๋ฒˆ :: ํšŒ์ „์ดˆ๋ฐฅ
Algorithm ๋ฌธ์ œ/BOJ 2020. 4. 2. 09:16

https://www.acmicpc.net/problem/15961 ๋‚ด ์ฝ”๋“œ #include #include #include #include using namespace std; int sushi_belt[3000000]; vector sushi_set; int main() { int n, d, k, c; cin >> n >> d >> k >> c; for (int i = 0; i > sushi_belt[i]; /* ์ดˆ๋ฐฅ k๊ฐœ์”ฉ ๋Š์–ด ์ฝ๊ธฐ */ int index = 0; for (int i = 0; i n - 1) ? i..

[python]๋ฐฑ์ค€ 17836๋ฒˆ : ๊ณต์ฃผ๋‹˜์„ ๊ตฌํ•ด๋ผ!
Algorithm ๋ฌธ์ œ/BOJ 2020. 3. 13. 14:42

๊ณต์ฃผ๋‹˜์„ ๊ตฌํ•ด๋ผ! ์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งž์€ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 1 ์ดˆ 256 MB 2397 551 418 22.012% ๋ฌธ์ œ ์šฉ์‚ฌ๋Š” ๋งˆ์™•์ด ์ˆจ๊ฒจ๋†“์€ ๊ณต์ฃผ๋‹˜์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด (N, M) ํฌ๊ธฐ์˜ ์„ฑ ์ž…๊ตฌ (1,1)์œผ๋กœ ๋“ค์–ด์™”๋‹ค. ๋งˆ์™•์€ ์šฉ์‚ฌ๊ฐ€ ๊ณต์ฃผ๋ฅผ ์ฐพ์ง€ ๋ชปํ•˜๋„๋ก ์„ฑ์˜ ์—ฌ๋Ÿฌ ๊ตฐ๋ฐ ๋งˆ๋ฒ• ๋ฒฝ์„ ์„ธ์›Œ๋†“์•˜๋‹ค. ์šฉ์‚ฌ๋Š” ํ˜„์žฌ์˜ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฌด๊ธฐ๋กœ๋Š” ๋งˆ๋ฒ• ๋ฒฝ์„ ํ†ต๊ณผํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ๋งˆ๋ฒ• ๋ฒฝ์„ ํ”ผํ•ด (N, M) ์œ„์น˜์— ์žˆ๋Š” ๊ณต์ฃผ๋‹˜์„ ๊ตฌ์ถœํ•ด์•ผ๋งŒ ํ•œ๋‹ค. ๋งˆ์™•์€ ์šฉ์‚ฌ๊ฐ€ ๊ดด๋กญํžˆ๊ธฐ ์œ„ํ•ด ๊ณต์ฃผ์—๊ฒŒ ์ €์ฃผ๋ฅผ ๊ฑธ์—ˆ๋‹ค. ์ €์ฃผ์— ๊ฑธ๋ฆฐ ๊ณต์ฃผ๋Š” T์‹œ๊ฐ„ ์ด๋‚ด๋กœ ์šฉ์‚ฌ๋ฅผ ๋งŒ๋‚˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด ์˜์›ํžˆ ๋Œ๋กœ ๋ณ€ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ณต์ฃผ๋‹˜์„ ๊ตฌ์ถœํ•˜๊ณ  ํ”„๋Ÿฌํฌ์ฆˆ๋ฅผ ๋ฐ˜๋“œ์‹œ ํ•˜๊ณ  ์‹ถ์€ ์šฉ์‚ฌ๋Š” T์‹œ๊ฐ„ ๋‚ด์— ๋ฐ˜๋“œ์‹œ ๊ณต์ฃผ๋‹˜์ด ์žˆ๋Š” ๊ณณ์œผ๋กœ ๋„๋‹ฌํ•ด์•ผ ํ•œ๋‹ค. ์šฉ์‚ฌ๋Š” ํ•œ ์นธ์„ ์ด๋™..

[python]๋ฐฑ์ค€ 17827๋ฒˆ: ๋‹ฌํŒฝ์ด ๋ฆฌ์ŠคํŠธ
Algorithm ๋ฌธ์ œ/BOJ 2020. 3. 13. 14:41

๋‹ฌํŒฝ์ด ๋ฆฌ์ŠคํŠธ ์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งž์€ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 1 ์ดˆ 256 MB 597 219 175 40.984% ๋ฌธ์ œ ์˜์ง„์ด๋Š” ๋‹ฌํŒฝ์ด๋ฅผ ์ข‹์•„ํ•œ๋‹ค. ๋‹ฌํŒฝ์ด๋ฅผ ๋„ˆ๋ฌด๋„ˆ๋ฌด ์ข‹์•„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ •ํ•œ ๋ชจ์–‘์˜ ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์— ๋‹ฌํŒฝ์ด ๋ฆฌ์ŠคํŠธ๋ผ๋Š” ์ด๋ฆ„์„ ๋ถ™์—ฌ์ฃผ์—ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์„ ํ˜• ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ ๋…ธ๋“œ ๋ฒˆํ˜ธ๋ฅผ ์—ฐ๊ฒฐ๋œ ์ˆœ์„œ๋Œ€๋กœ 1, 2, ..., N์ด๋ผ ํ•˜์ž. ์ด๋•Œ N๋ฒˆ ๋…ธ๋“œ๋Š” ์•„๋ฌด ๋…ธ๋“œ๋„ ๊ฐ€๋ฆฌํ‚ค์ง€ ์•Š๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ N๋ฒˆ ๋…ธ๋“œ๊ฐ€ 1๋ฒˆ ๋…ธ๋“œ๋ฅผ ์ œ์™ธํ•œ ์ž„์˜์˜ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌ์ผœ ์‚ฌ์ดํด์„ ์ด๋ฃจ๊ฒŒ ๋˜๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‹ฌํŒฝ์ด ๋ฆฌ์ŠคํŠธ๋ผ๊ณ  ํ•œ๋‹ค. ๋‹ฌํŒฝ์ด ๋ฆฌ์ŠคํŠธ๋Š” ๊ฐ ๋…ธ๋“œ๋‹น ํ•˜๋‚˜์˜ ์ •์ˆ˜๋ฅผ ์ €์žฅํ•œ๋‹ค. ์ฆ‰, ๋‹ฌํŒฝ์ด ๋ฆฌ์ŠคํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒ๊ธด ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์ด๋‹ค. ๋…ธ๋“œ ์•ˆ์˜ ์ˆ˜๋Š” ์ €์žฅ๋œ ๊ฐ’์„ ๋œปํ•œ๋‹ค. "๋‹ฌํŒฝ์•„ ๋‹ฌํŒฝ์•„ 1๋ฒˆ ๋…ธ๋“œ๋ถ€ํ„ฐ ํ•œ ์นธ์”ฉ..

[python]๋ฐฑ์ค€ 1992๋ฒˆ : ์ฟผ๋“œํŠธ๋ฆฌ
Algorithm ๋ฌธ์ œ/BOJ 2020. 2. 29. 12:57

https://www.acmicpc.net/problem/1992 ์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งž์€ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 2 ์ดˆ 128 MB 10660 6114 4794 57.420% ๋ฌธ์ œ ํ‘๋ฐฑ ์˜์ƒ์„ ์••์ถ•ํ•˜์—ฌ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ ์ฟผ๋“œ ํŠธ๋ฆฌ(Quad Tree)๋ผ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ํฐ ์ ์„ ๋‚˜ํƒ€๋‚ด๋Š” 0๊ณผ ๊ฒ€์€ ์ ์„ ๋‚˜ํƒ€๋‚ด๋Š” 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์˜์ƒ(2์ฐจ์› ๋ฐฐ์—ด)์—์„œ ๊ฐ™์€ ์ˆซ์ž์˜ ์ ๋“ค์ด ํ•œ ๊ณณ์— ๋งŽ์ด ๋ชฐ๋ ค์žˆ์œผ๋ฉด, ์ฟผ๋“œ ํŠธ๋ฆฌ์—์„œ๋Š” ์ด๋ฅผ ์••์ถ•ํ•˜์—ฌ ๊ฐ„๋‹จํžˆ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ์–ด์ง„ ์˜์ƒ์ด ๋ชจ๋‘ 0์œผ๋กœ๋งŒ ๋˜์–ด ์žˆ์œผ๋ฉด ์••์ถ• ๊ฒฐ๊ณผ๋Š” "0"์ด ๋˜๊ณ , ๋ชจ๋‘ 1๋กœ๋งŒ ๋˜์–ด ์žˆ์œผ๋ฉด ์••์ถ• ๊ฒฐ๊ณผ๋Š” "1"์ด ๋œ๋‹ค. ๋งŒ์•ฝ 0๊ณผ 1์ด ์„ž์—ฌ ์žˆ์œผ๋ฉด ์ „์ฒด๋ฅผ ํ•œ ๋ฒˆ์— ๋‚˜ํƒ€๋‚ด์ง€๋ฅผ ๋ชปํ•˜๊ณ , ์™ผ์ชฝ ์œ„, ์˜ค๋ฅธ์ชฝ ์œ„, ์™ผ์ชฝ ์•„๋ž˜, ์˜ค๋ฅธ์ชฝ ์•„๋ž˜, ์ด๋ ‡๊ฒŒ ..

[python]๋ฐฑ์ค€ 4811๋ฒˆ : ์•Œ์•ฝ
Algorithm ๋ฌธ์ œ/BOJ 2020. 2. 21. 00:23

https://www.acmicpc.net/problem/4811 ๋ฌธ์ œ 70์„ธ ๋ฐ•์ข…์ˆ˜ ํ• ์•„๋ฒ„์ง€๋Š” ๋งค์ผ ๋งค์ผ ์•ฝ ๋ฐ˜์•Œ์„ ๋จน๋Š”๋‹ค. ์†๋…€ ์„ ์˜์ด๋Š” ์ข…์ˆ˜ ํ• ์•„๋ฒ„์ง€์—๊ฒŒ ์•ฝ์ด N๊ฐœ ๋‹ด๊ธด ๋ณ‘์„ ์„ ๋ฌผ๋กœ ์ฃผ์—ˆ๋‹ค. ์ฒซ์งธ ๋‚ ์— ์ข…์ˆ˜๋Š” ๋ณ‘์—์„œ ์•ฝ ํ•˜๋‚˜๋ฅผ ๊บผ๋‚ธ๋‹ค. ๊ทธ ๋‹ค์Œ, ๊ทธ ์•ฝ์„ ๋ฐ˜์œผ๋กœ ์ชผ๊ฐœ์„œ ํ•œ ์กฐ๊ฐ์€ ๋จน๊ณ , ๋‹ค๋ฅธ ์กฐ๊ฐ์€ ๋‹ค์‹œ ๋ณ‘์— ๋„ฃ๋Š”๋‹ค. ๋‹ค์Œ ๋‚ ๋ถ€ํ„ฐ ์ข…์ˆ˜๋Š” ๋ณ‘์—์„œ ์•ฝ์„ ํ•˜๋‚˜ ๊บผ๋‚ธ๋‹ค. (์•ฝ์€ ํ•œ ์กฐ๊ฐ ์ „์ฒด ์ผ ์ˆ˜๋„ ์žˆ๊ณ , ์ชผ๊ฐ  ๋ฐ˜ ์กฐ๊ฐ ์ผ ์ˆ˜๋„ ์žˆ๋‹ค) ๋ฐ˜ ์กฐ๊ฐ์ด๋ผ๋ฉด ๊ทธ ์•ฝ์„ ๋จน๊ณ , ์•„๋‹ˆ๋ผ๋ฉด ๋ฐ˜์„ ์ชผ๊ฐœ์„œ ํ•œ ์กฐ๊ฐ์„ ๋จน๊ณ , ๋‹ค๋ฅธ ์กฐ๊ฐ์€ ๋‹ค์‹œ ๋ณ‘์— ๋„ฃ๋Š”๋‹ค. ์ข…์ˆ˜๋Š” ์†๋…€์—๊ฒŒ ํ•œ ์กฐ๊ฐ์„ ๊บผ๋‚ธ ๋‚ ์—๋Š” W๋ฅผ, ๋ฐ˜ ์กฐ๊ฐ์„ ๊บผ๋‚ธ ๋‚ ์—๋Š” H ๋ณด๋‚ธ๋‹ค. ์†๋…€๋Š” ํ• ์•„๋ฒ„์ง€์—๊ฒŒ ๋ฐ›์€ ๋ฌธ์ž๋ฅผ ์ข…์ด์— ๊ธฐ๋กํ•ด ๋†“๋Š”๋‹ค. ์ด 2N์ผ์ด ์ง€๋‚˜๋ฉด ๊ธธ์ด๊ฐ€ 2N์ธ..

[python] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ :: ๋ณด๊ธ€๊ฒŒ์ž„ (p150) ๋ฌธ์ œ
Algorithm ๋ฌธ์ œ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ•ด๊ฒฐ์ „๋žต 2020. 2. 11. 16:48

์˜ˆ์ œ: ๋ณด๊ธ€ ๊ฒŒ์ž„ (๋ฌธ์ œ ID: BOGGLE, ๋‚œ์ด๋„: ํ•˜) ๋ฌธ์ œ 5*5 ํฌ๊ธฐ์˜ ์•ŒํŒŒ๋ฒณ ๊ฒฉ์ž๋ฅผ ๊ฐ€์ง€๊ณ  ํ•˜๋Š” ๊ฒŒ์ž„. ๊ฒŒ์ž„์˜ ๋ชฉ์ ์€ ์ƒํ•˜์ขŒ์šฐ / ๋Œ€๊ฐ์„ ์œผ๋กœ ์ธ์ ‘ํ•œ ์นธ๋“ค์˜ ๊ธ€์ž๋“ค์„ ์ด์–ด์„œ ๋‹จ์–ด๋ฅผ ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ ๊ธ€์ž๋“ค์€ ๋Œ€๊ฐ์„ ์œผ๋กœ๋„ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•œ ๊ธ€์ž๊ฐ€ ๋‘ ๋ฒˆ ์ด์ƒ ์‚ฌ์šฉ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์–ด์ง„ ์นธ์—์„œ ์‹œ์ž‘ํ•ด์„œ ํŠน์ • ๋‹จ์–ด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ’€์–ด ๋ด…์‹œ๋‹ค. ์ž…๋ ฅ 1 1 PRETTY ์ถœ๋ ฅ True ํ’€์ด ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ• ์ƒ๊ฐ ์™„์ „ ํƒ์ƒ‰ ๋ฌธ์ œ ๋ถ„ํ•  ์ฒซ ๊ธ€์ž ์ฐพ๊ธฐ => ๋‹ค์Œ ๊ธ€์ž๋ฅผ ์ฃผ๋ณ€์—์„œ ์ฐพ๊ธฐ ๊ธฐ์ € ์‚ฌ๋ก€ ์„ ํƒ ๋” ์ด์ƒ์˜ ํƒ์ƒ‰ ์—†์ด ๊ฐ„๋‹จํžˆ ๋‹ต์„ ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ฒ˜์Œ ์ฃผ์–ด์ง„ ์œ„์น˜๊ฐ€ ์›ํ•˜๋Š” ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ์‹คํŒจ 1์— ํ•ด๋‹นํ•˜์ง€ ์•Š๊ณ  ์›ํ•˜๋Š” ๋‹จ์–ด๊ฐ€ 1๊ธ€์ž์ธ ๊ฒฝ์šฐ ์„ฑ๊ณต ๋‘˜์˜ ์ˆœ์„œ๋Š” ๋ฐ”๋€Œ..

[python] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ :: ๋กํŽ˜์Šคํ‹ฐ๋ฒŒ (p6) ๋ฌธ์ œ
Algorithm ๋ฌธ์ œ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ•ด๊ฒฐ์ „๋žต 2020. 2. 10. 19:01

๋ฌธ์ œ : ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต [๋กํŽ˜์Šคํ‹ฐ๋ฒŒ] p6 ๋ฌธ์ œ ์ปค๋‹ค๋ž€ ๊ณต์—ฐ์žฅ์„ ๋นŒ๋ ค์„œ ๋ก ํŽ˜์Šคํ‹ฐ๋ฒŒ์„ ๊ฐœ์ตœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด ํŽ˜์Šคํ‹ฐ๋ฒŒ์€ ์—ฌ๋Ÿฌ ๋‚  ๋™์•ˆ ์ง„ํ–‰๋˜๋ฉฐ, ํ•˜๋ฃจ์— ํ•œ ํŒ€์˜ ๋ฐด๋“œ๊ฐ€ ๊ณต์—ฐ์žฅ์—์„œ ์ฝ˜์„œํŠธ๋ฅผ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ „์ฒด ๋ฐด๋“œ๋ฅผ ๋ช‡ ํŒ€ ์„ญ์™ธํ•  ์ง€๋Š” ์•„์ง ๊ฒฐ์ •ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ, ํŽ˜์Šคํ‹ฐ๋ฒŒ์˜ ๊ฐ„ํŒ ์Šคํƒ€์ธ L๊ฐœ์˜ ํŒ€์€ ์ด๋ฏธ ์„ญ์™ธ๊ฐ€ ๋๋‚œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํŽ˜์Šคํ‹ฐ๋ฒŒ์€ ์ตœ์†Œ L์ผ ์ด์ƒ ์ง„ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ์— ์‚ฌ์šฉํ•  ๊ณต์—ฐ์žฅ์€ ํ•˜๋ฃจ ๋นŒ๋ฆฌ๋Š” ๋ฐ ๋“œ๋Š” ๋น„์šฉ์ด ๋งค์ผ ๋งค์ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ๊ณต์—ฐ ์ผ์ •์„ ์ž˜ ์ •ํ•ด์„œ ๊ณต์—ฐ์žฅ ๋Œ€์—ฌ ๋น„์šฉ์„ ์ค„์ด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ N์ผ๊ฐ„์˜ ๊ณต์—ฐ์žฅ ๋Œ€์—ฌ ๋น„์šฉ์„ ์•Œ๊ณ  ์žˆ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค. ์ด ์ค‘ L์ผ ์ด์ƒ์„ ์—ฐ์†ํ•ด์„œ ๋Œ€์—ฌํ•˜๋˜, ๊ณต์—ฐ์žฅ์„ ํ•˜๋ฃจ ๋นŒ๋ฆฌ๋Š” ๋ฐ ๋“œ๋Š” ํ‰๊ท  ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ๊ณต์—ฐ์žฅ์„ ๋นŒ๋ ค์•ผ ํ• ๊นŒ์š”?..

[python]๋ฐฑ์ค€ 9095๋ฒˆ : 1,2,3 ๋”ํ•˜๊ธฐ
Algorithm ๋ฌธ์ œ/BOJ 2020. 2. 1. 17:08

๋ฌธ์ œ : ๋ฐฑ์ค€ 9095๋ฒˆ _ 1,2,3 ๋”ํ•˜๊ธฐ https://www.acmicpc.net/problem/9095 ๋‚˜์˜ ๋‹ต # ๋ฐฑ์ค€ 9095๋ฒˆ: 1,2,3 ๋”ํ•˜๊ธฐ # 2020-02-01 case = int(input()) # ์ž…๋ ฅ๋ฐ›๊ธฐ num = [] def cpt_num(n): if n>3: # 3๋ณด๋‹ค ํฌ๋ฉด return cpt_num(n-3) + cpt_num(n-2) + cpt_num(n-1) elif n==3: # 3์ด๋ฉด return 4 elif n==2: # 2์ด๋ฉด return 2 elif n==1: # 1์ด๋ฉด return 1 while case : case-=1 num.append(int(input())) for n in num: print(cpt_num(n)) ์–ด์ œ ๋ฐฐ์› ๋˜ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ™œ..