๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋ฌธ์ œ ํ•ด๊ฒฐ (PS)/๋ฌธ์ œ ํ’€์ด (3)

Unfazedโ—๏ธ๐ŸŽฏ

1721. Swapping Nodes in a Linked List [leetcode] | ๊ฐ’์ด ์•„๋‹Œ ๊ฐ์ฒด(๋…ธ๋“œ)๋ฅผ ์ง์ ‘ ๊ตํ™˜ ํ•ด๋ณด๊ธฐ

https://leetcode.com/problems/swapping-nodes-in-a-linked-list/description/๋ฌธ์ œ๋Š” ์œ„ ๋งํฌ ์ฐธ์กฐ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ์ ‘๊ทผ ํ–ˆ์„ ๋•Œ ๊ฐ์ฒด๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๊ฒƒ์€ ๋„ˆ๋ฌด ๋ณต์žกํ•ด ๋ณด์—ฌ ๊ฐ’๋งŒ ๊ตํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.์ดํ›„ ์ง์ ‘ ๊ฐ์ฒด๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๋ฐฉ์‹์„ ํ•™์Šตํ•ด๋ณด์•˜๋‹ค.  ํ’€์ด ์š”์•ฝ1. ์—์ง€ ์ผ€์ด์Šค ์ฒ˜๋ฆฌ: ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋น„์–ด์žˆ๊ฑฐ๋‚˜ ํ•˜๋‚˜์˜ ๋…ธ๋“œ๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜2. dummy ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ head ๋…ธ๋“œ ๊ตํ™˜์„ ์ฒ˜๋ฆฌ3. 4๊ฐœ์˜ ํฌ์ธํ„ฐ ์‚ฌ์šฉ : prevFirst, first, prevSecond, second (๊ฐ๊ฐ ๊ตํ™˜ํ•  ๋‘ ๋…ธ๋“œ์™€ ๊ทธ ์ง์ „ ๋…ธ๋“œ๋“ค์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.)4. ์•ž์—์„œ k๋ฒˆ์งธ ๋…ธ๋“œ(first)์™€ ์ง์ „ ๋…ธ๋“œ(prevFirst) ์ฐพ๊ธฐ5. ๋’ค์—์„œ k๋ฒˆ์งธ ..

๋ฐฑ์ค€ 25556 ํฌ์Šคํƒ

์ฒซ ์ ‘๊ทผ ๋ฐฉ์‹ (์˜ค๋‹ต) 4๊ฐœ์˜ ์Šคํƒ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ˆœํžˆ ์ˆœ์—ด์˜ ์˜ค๋ฆ„์ฐจ์ˆœ์ด ๋Š๊ธธ ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ์Šคํƒ์— ๋‹ด์•„์•ผ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ์Šคํƒ ์นด์šดํŠธ๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๊ณ  ์Šคํƒ ์นด์šดํŠธ 4์ดˆ๊ณผ์‹œ NO๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋กœ์ง์œผ๋กœ ๊ตฌํ˜„. ์ž˜๋ชป๋œ ์ด์œ  : ํ•œ ๋ฒˆ ์˜ค๋ฆ„์ฐจ์ˆœ์ด ๋Š๊ธฐ๋ฉด ํ•ด๋‹น ์Šคํƒ์„ ์žฌ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ. ๊ตฌ๊ธ€๋ง ์ดํ›„์— ๋‹ค์‹œ ์ ‘๊ทผ 1. ์ˆœ์—ด์„ ๋ฐฐ์—ด๋ฆฌ์ŠคํŠธ์— ๋‹ด๊ธฐ ArrayList numlist = new ArrayList(); for(int i=0; i ํ•ด๋‹น num์„ stack ์ค‘ ํ•˜๋‚˜์— ๋‹ด์„ ์ˆ˜ ์žˆ์œผ๋ฉด true, ์—†๋‹ค๋ฉด false boolean cleanFlag = true; for(int num : numlist){ if(!placeInStack(num, stackList)){ cleanFlag = false; break; } ..