๐Ÿค–Algorithm ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ

ํ•ด๋‹น ๊ธ€ 125๊ฑด

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๋ฌธ์ œ ์ง€๋ฌธ์˜ ์„ค๋ช…์ด ๋„ˆ๋ฌด ์ „๋‹ฌ๋ ฅ ์—†์ด ์ž‘์„ฑ๋˜์–ด ์žˆ์–ด, ๋‹ค๋ฅธ ๋ถ„์ด ์žฌํ•ด์„ํ•˜์‹  ๊ธ€์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์Šคํƒ(Stack)์„ ์ด์šฉํ•˜์—ฌ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. prices์˜ ํฌ๊ธฐ๋งŒํผ answer ๋ฐฐ์—ด์— ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•ด๋‘”๋‹ค. ์Šคํƒ์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ด๋‹ค. for๋ฌธ์„ ํ†ตํ•ด, 1์ดˆ๋ถ€ํ„ฐ prices ํฌ๊ธฐ๊นŒ์ง€ ์ดˆ๋ฅผ ์„ธ๋ฉฐ ์ง„ํ–‰ํ•œ๋‹ค. ์Šคํƒ์ด ๋น„์—ˆ๊ฑฐ๋‚˜, ํ˜„์žฌ ์ฃผ๊ฐ€๊ฐ€ ์Šคํƒ top()์˜ ์ฃผ๊ฐ€๋ณด๋‹ค ํฌ๋‹ค๋ฉด ํ˜„์žฌ ์ฃผ๊ฐ€์™€ ์‹œ๊ฐ„์„ ์Šคํƒ์— ์‚ฝ์ž…ํ•œ๋‹ค. ์œ„ ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์ฃผ๊ฐ€๊ฐ€ ๋‚ฎ์•„์ง„ ๊ฒƒ์ด๋ฏ€๋กœ ์Šคํƒ์—์„œ ํ˜„..

๐Ÿค–Algorithm/Programmers 2023. 6. 22. 21:31

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ฐฐ์—ด ํฌ๊ธฐ๊ฐ€ ์ตœ๋Œ€ \( 100,000 \times 4 \) ์ด๊ธฐ ๋•Œ๋ฌธ์— DFS์œผ๋กœ๋Š” ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๊ฑธ๋ฆด ๊ฒƒ ๊ฐ™๋”๋ผ๊ตฌ์š”. ์œ ๋งํ•˜์ง€ ์•Š์€ ๋ถ€๋ถ„์€ ๊ฐ€์น˜์ง€๊ธฐ๋ฅผ ํ•˜๋ฉด ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ, ๊ธฐ์ค€์„ ์–ด์ฐŒํ•ด์•ผ ํ•  ์ง€ ๋ชจ๋ฅด๊ฒ ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๋””(Greedy)๋กœ๋„ ํ˜„์žฌ ์„ ํƒ์ง€๊ฐ€ ์ตœ์„ ์˜ ์„ ํƒ์ง€๋ผ๋Š” ๋ณด์žฅ์ด ์—†๊ธฐ์— ๋ชป ์‚ฌ์šฉํ•˜๊ตฌ์š”. ๊ทธ๋ž˜์„œ ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Dynamic Programming)์„ ํ•œ ๋ฒˆ ์‚ฌ์šฉํ•ด ๋ดค์Šต๋‹ˆ๋‹ค. ๋•…(land)์˜ ์ฒซ ํ–‰์€ dp์— ๊ทธ๋Œ€๋กœ ์ €์žฅํ•ด๋‘”๋‹ค. ํ˜„์žฌ ํ–‰๊ณผ ์—ด์„..

๐Ÿค–Algorithm/Programmers 2023. 6. 22. 16:17

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๊ฐ€ ์ตœ๋Œ€ 10๋งŒ ๊ฐœ์ด๊ธฐ์— ๊ฒ€์ƒ‰์„ ๋น ๋ฅด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด, ํ•ด์‹œ(Hash)๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„ํ•˜๋Š” ๋ถ€๋ถ„์ด ์กฐ๊ธˆ ๊ธธ ๋ฟ, ๋ฌธ์ œ ์ž์ฒด๋Š” ์–ด๋ ต์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. for๋ฌธ์œผ๋กœ record๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ, ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํ•ด์‹œ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ for๋ฌธ์œผ๋กœ record๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ, ๊ฐ ๋ช…๋ น์–ด(Enter, Leave, Change)์— ํ•ด๋‹นํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. โœ๏ธ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ #include #include #include #include using namespac..

๐Ÿค–Algorithm/Programmers 2023. 6. 21. 21:58

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๋ฌธ์ œ๋ฅผ ๋ณด์ž๋งˆ์ž ๋ฌด์Šจ ๋™์•„๋ฆฌ ์‚ฌ๋žŒ๋“ค์ด ์ด๋Ÿฌ๊ณ  ๋…ธ๋‚˜ ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์นด์นด์˜ค์— ๊ฐ€๋Š” ์‚ฌ๋žŒ๋“ค์€ ๋‹ค ์ €๋Ÿฌ๊ณ  ๋…ธ๋Š” ๊ฑธ๊นŒ์š”?... ์•„๋ฌดํŠผ, ์ €๋Š” ์ด ๋ฌธ์ œ์˜ ์˜๋„๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ํž˜๋“ค์–ด์„œ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ์ข€ ๊ฑธ๋ ธ์–ด์š”. ํ•œ ์‚ฌ๋žŒ์ด ๋งํ•˜๋Š” ์ˆซ์ž๋Š” ๋ฌด์กฐ๊ฑด ํ•œ ์ž๋ฆฌ ์ˆซ์ž๋‹ค. (์‹ญ์ง„์ˆ˜ "3" -> ์ด์ง„์ˆ˜ "11"๋กœ ๋ณ€ํ™˜ํ•˜๋”๋ผ๋„ ํ•œ ์‚ฌ๋žŒ๋งˆ๋‹ค ํ•œ ์ž๋ฆฌ์”ฉ ์ฝ๋Š”๋‹ค.) ์˜ˆ์ œ์ธ n = 2, t = 4, m = 2, p = 1๋กœ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ์‹ญ์ง„์ˆ˜ 0๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด๋ณด๋ฉด..

๐Ÿค–Algorithm/Programmers 2023. 6. 21. 20:52

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๋ฌธ์ œ ์œ ํ˜•๋„ ํž™(Heap)์ด๋ผ ๋ถ„๋ฅ˜๋˜์–ด ์žˆ์—ˆ์ง€๋งŒ, ์ง€๋ฌธ์„ ์ฝ์ž๋งˆ์ž ์ตœ์†Œ ํž™(Min Heap)์ด ์ƒ๊ฐ๋‚˜๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์ž…๋ ฅ ๋ฒ”์œ„ ์ˆซ์ž๊ฐ€ ๋งค์šฐ ํฌ๋ฏ€๋กœ, ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋งŒ ์กฐ์‹ฌํ•˜๋ฉด ์†์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. โœ๏ธ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ #include #include #include using namespace std; using LL = long long; int solution(vector scoville, int K) { int answer = 0; priority_queue scovi..

๐Ÿค–Algorithm/Programmers 2023. 6. 21. 16:23