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

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

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • \(n\)์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๊ฐ€ ์ฒœ๋งŒ ๊ฐœ๋ผ, 2์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ณ , ๋‚˜๋ˆ—์…ˆ๊ณผ ๋ชซ ์—ฐ์‚ฐ์„ ํ†ตํ•ด left ~ right ์‚ฌ์ด์˜ ์ˆซ์ž๋งŒ ์ถ”์ถœํ•˜๋ฉด ๋˜์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์งฐ๋Š”๋ฐ, ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚ฌ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์„ ๋” ์ค„์ผ ๋ฐฉ๋„๊ฐ€ ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•์„ ๋ชจ์ƒ‰ํ•˜๋˜ ์ค‘, (i, j)์— ์ €์žฅ๋˜๋Š” ์ˆซ์ž๋Š” max(i + 1, j + 1)์ด๋ผ๋Š” ํŠน์„ฑ์„ ๋ฐœ๊ฒฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. 0 1 2 3 --------- 0 | 1 2 3 4 1 | 2 2 3 4 2 | 3 3 3 4 3 | 4 4 4 4 // ..

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

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์ค‘๋ณต์—†์ด ์ €์žฅ์„ ํ•ด์•ผ ํ•˜๋‹ˆ, set์— ์ €์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์—ฐ์† ์ˆ˜์—ด ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•˜๋Š” ๋ถ€๋ถ„์—์„  deque๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ์ธ๋ฑ์‹ฑ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ๋งจ ์•ž ๋งจ ๋’ค ์‚ฝ์ž… ์‚ญ์ œ๊ฐ€ ํšจ์œจ์ ์ธ deque๋ผ๋ฉด ์ข‹์€ ํšจ์œจ์„ ๋‚ผ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 1. vector์— ์ €์žฅ๋˜์–ด ์žˆ๋˜ elements์˜ ์›์†Œ๋“ค์„ ๋ชจ์กฐ๋ฆฌ deque๋กœ ์˜ฎ๊ฒจ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. 2. 0๋ฒˆ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์ถ”์ถœํ•  ๊ฐœ์ˆ˜ (1 ~ element.size()) ์ธ๋ฑ์Šค๋งŒํผ์˜ ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. - ํ•ฉ๊ณ„๋ฅผ set์—..

๐Ÿค–Algorithm/Programmers 2023. 6. 14. 02:28

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๋ฌธ์ œ๋ฅผ ์ž˜ ์ฝ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณดํŠธ์— ํƒˆ ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์€ ๋‹จ ๋‘ ๋ช…์ž…๋‹ˆ๋‹ค. 1. ์‚ฌ๋žŒ๋“ค์˜ ๋ฌด๊ฒŒ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ 2. ๊ฐ€์žฅ ์ž‘์€ ๋ฌด๊ฒŒ๋ฅผ ์ง€๋‹Œ ์‚ฌ๋žŒ์˜ ์ธ๋ฑ์Šค(li = 0)์™€ ๊ฐ€์žฅ ๋ฌด๊ฑฐ์šด ๋ฌด๊ฒŒ๋ฅผ ์ง€๋‹Œ ์‚ฌ๋žŒ์˜ ์ธ๋ฑ์Šค(hi = people.size() - 1)๋ฅผ ์ง€์ • 3. people[li] + people[hi] > limit ์ด๋ผ๋ฉด, ์ œ์ผ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ ํ˜ผ์ž ๋ฐ–์— ํƒˆ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ answer++, hi-- 4. people[li] + people[hi] hi๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ 3, 4๋ฒˆ์„ ..

๐Ÿค–Algorithm/Programmers 2023. 6. 13. 22:55

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์ฒ˜์Œ์—๋Š” ์ •๊ทœ์‹์„ ํ™œ์šฉํ•ด์„œ replace()๋ฅผ ํ• ๊นŒ ์ƒ๊ฐํ–ˆ์—ˆ๋Š”๋ฐ ๋ฌธ์ œ์˜ ์˜๋„(์ง์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ์ œ๊ฑฐํ•˜๊ณ  ์•ž ๋’ค ๋ถ™์ด๋Š”)์™€๋Š” ๋งž์ง€ ์•Š์•˜๊ณ , ์ง์„ ๊ธฐ์ค€์œผ๋กœ ์•ž๊ณผ ๋’ค ๋ฌธ์ž์—ด์„ ํ•ฉ์น˜๋Š” ๊ณผ์ •์—์„œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ•˜๋‹ˆ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ข‹์„๊นŒ ๊ณ ๋ฏผ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ๋ณต์žกํ•  ๊ฒƒ ์—†์ด ์Šคํƒ(Stack)์„ ํ™œ์šฉํ•˜๋ฉด ์ •๋ง ์‰ฝ๊ฒŒ ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์ข€ ๋” ์‚ฌ๊ณ ๋ฅผ ํ™•์žฅํ•˜์—ฌ ์œ ์—ฐํ•˜๊ฒŒ ํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๊ฒƒ ๊ฐ™๋„ค์š”. โœ๏ธ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ #include #include using namespace std;..

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

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ์ „๋žต ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ๋ฒ”์œ„๊ฐ€ ์ตœ๋Œ€ 10๋งŒ ์ธ ๊ฑธ ๊ณ ๋ คํ•˜๋ฉด, ์žฌ๊ท€๋กœ๋Š” ์ ˆ๋Œ€ ๋ชป ๊ตฌํ•˜๋‹ˆ DP(Dynamic Programming)์œผ๋กœ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. 1234567๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฆฌํ„ดํ•˜๋ผ๋Š” ๊ฑธ๋กœ ๋ณด์•„, ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ์กฐ์‹ฌํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ตฌ์š”. โœ๏ธ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ #include using namespace std; const int DIVISION = 1234567; int solution(int n) { vector F(n + 1); F[0] = 0; F[1] = 1; for (int i..

๐Ÿค–Algorithm/Programmers 2023. 6. 12. 20:51