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

๋ชฉ๋กStudy/์•Œ๊ณ ๋ฆฌ์ฆ˜, ๊ตฌํ˜„ ๋ฌธ์ œํ’€์ด (4)

JiYoung Dev ๐Ÿ–ฅ

[๋ฐฑ์ค€ 1874] ์Šคํƒ์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ˆ˜์—ด ๋งŒ๋“ค๊ธฐ : Stack

๐Ÿ”Ž ๋ฌธ์ œ๋ฌธ์ œ ์„ค๋ช…์Šคํƒ (stack)์€ ๊ธฐ๋ณธ์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ, ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ๋•Œ ์ž์ฃผ ์ด์šฉ๋˜๋Š” ๊ฐœ๋…์ด๋‹ค. ์Šคํƒ์€ ์ž๋ฃŒ๋ฅผ ๋„ฃ๋Š” (push) ์ž…๊ตฌ์™€ ์ž๋ฃŒ๋ฅผ ๋ฝ‘๋Š” (pop) ์ž…๊ตฌ๊ฐ€ ๊ฐ™์•„ ์ œ์ผ ๋‚˜์ค‘์— ๋“ค์–ด๊ฐ„ ์ž๋ฃŒ๊ฐ€ ์ œ์ผ ๋จผ์ € ๋‚˜์˜ค๋Š” (LIFO, Last in First out) ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.1๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ์ˆ˜๋ฅผ ์Šคํƒ์— ๋„ฃ์—ˆ๋‹ค๊ฐ€ ๋ฝ‘์•„ ๋Š˜์–ด๋†“์Œ์œผ๋กœ์จ, ํ•˜๋‚˜์˜ ์ˆ˜์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ, ์Šคํƒ์— pushํ•˜๋Š” ์ˆœ์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์˜ค๋ฆ„์ฐจ์ˆœ์„ ์ง€ํ‚ค๋„๋ก ํ•œ๋‹ค๊ณ  ํ•˜์ž. ์ž„์˜์˜ ์ˆ˜์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ์Šคํƒ์„ ์ด์šฉํ•ด ๊ทธ ์ˆ˜์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€, ์žˆ๋‹ค๋ฉด ์–ด๋–ค ์ˆœ์„œ๋กœ push์™€ pop ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ.์ž…๋ ฅ์ฒซ ์ค„์— n (1 ≤ n ≤ 100,000)..

[๋ฐฑ์ค€ 11003] ์ตœ์†Ÿ๊ฐ’ ์ฐพ๊ธฐ : Deque

๐Ÿ”Ž ๋ฌธ์ œhttps://www.acmicpc.net/problem/11003๐ŸŽ ํ’€์ด์ฝ”ํ…Œ ์ค€๋น„๋ฅผ ์œ„ํ•ด Do it! ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ฑ…์„ ๋ณด๋ฉด์„œ ๊ณต๋ถ€ํ•˜๋ฉฐ ๋งŒ๋‚œ ๋ฌธ์ œ๋กœ, Deque๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š” ๋ฌธ์ œ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ฝ”ํ…Œ ์ดˆ๋ณด์ž์ธ ๋‚˜๋Š” ์ฒ˜์Œ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ์ด์ค‘ for๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘ธ๋Š” ๋ฐฉ์‹์„ ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ์ด์ค‘ For์œผ๋กœ ํ’€ ๊ฒฝ์šฐ ์‹œ๊ฐ„ ์ œํ•œ์— ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— O(n)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง„ ๋ฐฉ์‹์„ ์ฐพ์•„์•ผํ–ˆ๋‹ค.  ์ด ๋ฌธ์ œ์—์„œ ์‚ฌ์šฉํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ธ Deque๋ž€ ๋ฌด์—‡์ผ๊นŒ?Deque(๋ฑ)์ด๋ž€, ์–‘ ๋์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ LinkedList,  ArrayDeque ๋“ฑ์œผ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค. addFirst(), removeFirst() ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋งจ ์•ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…,..

[๋ฐฑ์ค€ 2563] ์ด์ฐจ์› ๋ฐฐ์—ด : ์ƒ‰์ข…์ด

๋‹จ๊ณ„๋ณ„๋กœ ๋ฌธ์ œ ํ’€๊ธฐ ์ค‘ ์ด์ฐจ์› ๋ฐฐ์—ด ๋‹จ๊ณ„์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ์ด๋‹ค. ์ด์ฐจ์› ๋ฐฐ์—ด์„ ํ†ตํ•ด์„œ ํ’€์–ด์•ผ ํ•˜๋Š”๋ฐ ๋„์ €ํžˆ ์–ด๋–ป๊ฒŒ ์‹œ์ž‘ํ•ด์•ผํ• ์ง€ ๋ชฐ๋ผ ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ํ’€์—ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ‘ธ๋Š”์ง€๋งŒ ์•Œ๋ฉด ์ฝ”๋“œ ์ž‘์„ฑ์€ ์‰ฌ์šด ๋ฌธ์ œ์˜€๋Š”๋ฐ, ๋‚˜์—๊ฒŒ ์žˆ์–ด์„œ ์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ boolean ํƒ€์ž…์˜ ์ด์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ์™œ ์ด ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋ƒ.. ์ด์ œ๊นŒ์ง€ ๋‚ด๊ฐ€ ์จ์˜จ ๋ฐฐ์—ด์€ intํƒ€์ž…์ด๊ฑฐ๋‚˜ ๊ฐ€๋” String ํ˜น์€ Char ํƒ€์ž…์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋‚ด ๊ธฐ์–ต์ƒ boolean ํƒ€์ž…์€ ์•„์ง๊นŒ์ง€ ์“ด ์ ์€ ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ ์ด ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๊ณ , ํฌ๊ธฐ 100์ธ boolean ํƒ€์ž…์˜ ์ด์ฐจ์› ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  for๋ฌธ๊ณผ if๋ฌธ์„ ์ ์ ˆํžˆ ํ™œ์šฉํ•˜๋ฉด ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋‹ค. ๋ฌธ์ œ ํ’€์ด ๋ฐ ์ฝ”๋“œ ๊ฐ€๋กœ, ์„ธ๋กœ์˜ ํฌ๊ธฐ๊ฐ€ ๊ฐ๊ฐ 100์ธ ์ •์‚ฌ..