Queue

    [PGM_42587] ํ”„๋ฆฐํ„ฐ  (java)

    [PGM_42587] ํ”„๋ฆฐํ„ฐ (java)

    ๋ฌธ์ œ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/42587 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํ”„๋ฆฐํ„ฐ ์ผ๋ฐ˜์ ์ธ ํ”„๋ฆฐํ„ฐ๋Š” ์ธ์‡„ ์š”์ฒญ์ด ๋“ค์–ด์˜จ ์ˆœ์„œ๋Œ€๋กœ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•œ ๋ฌธ์„œ๊ฐ€ ๋‚˜์ค‘์— ์ธ์‡„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์ค‘์š”๋„๊ฐ€ ๋†’์€ ๋ฌธ์„œ๋ฅผ ๋จผ์ € ์ธ์‡„ํ•˜๋Š” ํ”„๋ฆฐ programmers.co.kr ๋ฌธ์ œํ’€์ด ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ํ•ต์‹ฌ ์Šคํ‚ฌ ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป Queue ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ํฐ ๋ฌธ์„œ๋ถ€ํ„ฐ ๋จผ์ € ํ”„๋ฆฐํ„ฐ๋ฅผ ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋งŒ์•ฝ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋Œ€๊ธฐ์—ด์— ์žˆ๋˜ ํ”„๋ฆฐํ„ฐ์ค‘์—์„œ ์ œ์ผ ๋†’์ง€ ์•Š๋‹ค๋ฉด ๊ฐ€์žฅ ๋’ค๋กœ ๋„˜๊ฒจ์„œ ์ฒ˜๋ฆฌํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ๋‚˜๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Queue๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ๋ฌธ์„œ๋ฅผ ํ”„๋ฆฐํ„ฐํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐ์—ด์—์„œ ๋นผ๋Š” ๋ฐฉ๋ฒ•์€ ์ˆœ์„œ๋Œ€๋กœ ๋นผ์ฃผ์–ด์•ผํ•˜๋ฉฐ, ๋งŒ์•ฝ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฐ€์žฅ ๋†’์ง€ ์•Š..

    [BOJ_1261] ์•Œ๊ณ ์ŠคํŒŸ (java)

    ๋ฌธ์ œ๋งํฌ https://www.acmicpc.net/problem/1261 1261๋ฒˆ: ์•Œ๊ณ ์ŠคํŒŸ ์ฒซ์งธ ์ค„์— ๋ฏธ๋กœ์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ€๋กœ ํฌ๊ธฐ M, ์„ธ๋กœ ํฌ๊ธฐ N (1 ≤ N, M ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๋ฏธ๋กœ์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆซ์ž 0๊ณผ 1์ด ์ฃผ์–ด์ง„๋‹ค. 0์€ ๋นˆ ๋ฐฉ์„ ์˜๋ฏธํ•˜๊ณ , 1์€ ๋ฒฝ์„ ์˜๋ฏธ www.acmicpc.net ๋ฌธ์ œ์„ค๋ช… ๋”๋ณด๊ธฐ ๋ฌธ์ œ ์•Œ๊ณ ์ŠคํŒŸ ์šด์˜์ง„์ด ๋ชจ๋‘ ๋ฏธ๋กœ์— ๊ฐ‡ํ˜”๋‹ค. ๋ฏธ๋กœ๋Š” N*M ํฌ๊ธฐ์ด๋ฉฐ, ์ด 1*1ํฌ๊ธฐ์˜ ๋ฐฉ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๋ฏธ๋กœ๋Š” ๋นˆ ๋ฐฉ ๋˜๋Š” ๋ฒฝ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๋นˆ ๋ฐฉ์€ ์ž์œ ๋กญ๊ฒŒ ๋‹ค๋‹ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฒฝ์€ ๋ถ€์ˆ˜์ง€ ์•Š์œผ๋ฉด ์ด๋™ํ•  ์ˆ˜ ์—†๋‹ค. ์•Œ๊ณ ์ŠคํŒŸ ์šด์˜์ง„์€ ์—ฌ๋Ÿฌ๋ช…์ด์ง€๋งŒ, ํ•ญ์ƒ ๋ชจ๋‘ ๊ฐ™์€ ๋ฐฉ์— ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ฆ‰, ์—ฌ๋Ÿฌ ๋ช…์ด ๋‹ค๋ฅธ ๋ฐฉ์— ์žˆ์„ ์ˆ˜๋Š” ์—†๋‹ค. ์–ด๋–ค ๋ฐฉ์—์„œ ์ด..

    Queue์™€ Deque(ํ์™€ ๋ฑ)

    Queue์™€ Deque(ํ์™€ ๋ฑ)

    ๋„์ž… ๊ธฐ๋ณธ ์ž๋ฃŒ๊ตฌ์กฐ์ธ Queue์™€ Dequeue์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด์ž. Queue Queue๋Š” ์„ ์ž… ์„ ์ถœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๋Š” ๋ถ€๋ถ„๊ณผ ๋นผ๋Š” ๋ถ€๋ถ„์ด ๋‹ค๋ฅด๋‹ค. push(x) : ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๋Š” ์—ฐ์‚ฐ pop(x) : ๋ฐ์ดํ„ฐ๋ฅผ ๋นผ๋Š” ์—ฐ์‚ฐ C++์€ STL์˜ queue๋ฅผ Python์€ collections์˜ deque๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ž๋ฐ”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ java.util.Queue์˜ Queue๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์‚ฝ์ž…๊ณผ ์‚ญ์ œ Queue์—์„œ ์‚ฝ์ž…์„ ํ•œ ๊ฒฝ์šฐ์ด๋‹ค. Queue์˜ ๋’ท ๋ถ€๋ถ„์— 20์ด ์‚ฝ์ž…๋˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. Queue์—์„œ pop์„ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ๋Š” ์•ž ๋ถ€๋ถ„์— 43๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์œ„ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ ๊ณผ์ •์—์„œ ์ฃผ๋ชฉํ•ด์•ผํ•  ์ ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๋ฐฉํ–ฅ๊ณผ ๋‚˜์˜ค๋Š” ๋ฐฉํ–ฅ์ด ๋‹ค๋ฅด๋‹ค๋Š” ์ ์ด๋‹ค.(Queue์˜ ..