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

๋ชฉ๋ก์Šคํƒ (6)

JUINTINATION

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณ ๋“์  Kit - ์Šคํƒ/ํ(๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด, ๊ธฐ๋Šฅ๊ฐœ๋ฐœ, ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ, ํ”„๋กœ์„ธ์Šค, ๋‹ค๋ฆฌ๋ฅผ ์ง€๋‚˜๋Š” ํŠธ๋Ÿญ, ์ฃผ์‹๊ฐ€๊ฒฉ)

1๋ฒˆ ๋ฌธ์ œ: ๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ดhttps://school.programmers.co.kr/learn/courses/30/lessons/12906 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ’€์ด๊ฐ ์›์†Œ๋Š” ์ˆซ์ž 0๋ถ€ํ„ฐ 9๊นŒ์ง€๋กœ ์ด๋ฃจ์–ด์ง„ ์ •์ˆ˜ ๋ฐฐ์—ด arr์—์„œ ์›์†Œ๋“ค์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•œ ์ƒํƒœ๋กœ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ํ•˜๋‚˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์ „๋ถ€ ์ œ๊ฑฐํ•œ ํ›„ ๋‚จ์€ ์ˆ˜๋“ค์„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด,arr = [1, 1, 3, 3, 0, 1, 1] ์ด๋ฉด [1, 3, 0, 1] ์„ return ํ•œ๋‹ค.arr = [4, 4, 4, 3, 3] ์ด๋ฉด [4, 3] ์„ return ํ•œ๋‹ค.์ ‘๊ทผ์Šคํƒ..

๋ฐฑ์ค€ 17299๋ฒˆ: ์˜ค๋“ฑํฐ์ˆ˜

๋ฌธ์ œ https://www.acmicpc.net/problem/17299 17299๋ฒˆ: ์˜ค๋“ฑํฐ์ˆ˜ ์ฒซ์งธ ์ค„์— ์ˆ˜์—ด A์˜ ํฌ๊ธฐ N (1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ์— ์ˆ˜์—ด A์˜ ์›์†Œ A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ํ’€์ด ํฌ๊ธฐ๊ฐ€ N์ธ ์ˆ˜์—ด A = A1, A2,..., AN์ด ์žˆ์„ ๋•Œ ์˜ค๋ฅธ์ชฝ์— ์žˆ์œผ๋ฉด์„œ Ai๋ณด๋‹ค ์ˆ˜์—ด A์—์„œ ๋“ฑ์žฅํ•œ ํšŸ์ˆ˜๊ฐ€ ํฐ ์ˆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ๋Š” ์ˆ˜์ธ Ai์˜ ์˜คํฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ C์–ธ์–ด ์ •์ˆ˜ ๋ฐฐ์—ด arr๋ฅผ ๋™์ ํ• ๋‹นํ•˜์—ฌ ์ž…๋ ฅ๋ฐ›๊ณ  ์ž…๋ ฅ๋ฐ›์€ ์ˆ˜๊ฐ€ ๋“ฑ์žฅํ•œ ํšŸ์ˆ˜๋ฅผ ์ •์ˆ˜ ๋ฐฐ์—ด cnt์— ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ i๋ฅผ ํฌํ•จํ•œ for๋ฌธ์— ๋“ค์–ด๊ฐ€๋ฉฐ ์ด๋•Œ ์Šคํƒ์—๋Š” ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค ๊ฐ’์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. for๋ฌธ ์•ˆ์—..

๋ฐฑ์ค€ 17298๋ฒˆ: ์˜คํฐ์ˆ˜

๋ฌธ์ œ https://www.acmicpc.net/problem/17298 17298๋ฒˆ: ์˜คํฐ์ˆ˜ ์ฒซ์งธ ์ค„์— ์ˆ˜์—ด A์˜ ํฌ๊ธฐ N (1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์— ์ˆ˜์—ด A์˜ ์›์†Œ A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ํ’€์ด ํฌ๊ธฐ๊ฐ€ N์ธ ์ˆ˜์—ด A = A1, A2,..., AN์ด ์žˆ์„ ๋•Œ ์˜ค๋ฅธ์ชฝ์— ์žˆ์œผ๋ฉด์„œ Ai๋ณด๋‹ค ํฐ ์ˆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ๋Š” ์ˆ˜์ธ Ai์˜ ์˜คํฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ C์–ธ์–ด ์ •์ˆ˜ ๋ฐฐ์—ด arr๋ฅผ ๋™์ ํ• ๋‹นํ•˜์—ฌ ์ž…๋ ฅ๋ฐ›๊ณ  i๋ฅผ ํฌํ•จํ•œ for๋ฌธ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์ด๋•Œ ์Šคํƒ์—๋Š” ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค ๊ฐ’์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. for๋ฌธ ์•ˆ์—์žˆ๋Š” while๋ฌธ ์•ˆ์—์„œ ์Šคํƒ์ด ๋น„์–ด์žˆ์ง€ ์•Š์„ ๋•Œ arr[i]๊ฐ€ arr[์Šคํƒ์˜ ์ตœ์ƒ๋‹จ ๋ฐ..

๋ฐฑ์ค€ 1935๋ฒˆ: ํ›„์œ„ ํ‘œ๊ธฐ์‹2

๋ฌธ์ œ https://www.acmicpc.net/problem/1935 1935๋ฒˆ: ํ›„์œ„ ํ‘œ๊ธฐ์‹2 ์ฒซ์งธ ์ค„์— ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐœ์ˆ˜(1 ≤ N ≤ 26) ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‘˜์งธ ์ค„์—๋Š” ํ›„์œ„ ํ‘œ๊ธฐ์‹์ด ์ฃผ์–ด์ง„๋‹ค. (์—ฌ๊ธฐ์„œ ํ”ผ์—ฐ์‚ฐ์ž๋Š” A~Z์˜ ์˜๋Œ€๋ฌธ์ž์ด๋ฉฐ, A๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ N๊ฐœ์˜ ์˜๋Œ€๋ฌธ์ž๋งŒ์ด ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ธธ์ด www.acmicpc.net ํ’€์ด ํ›„์œ„ ํ‘œ๊ธฐ์‹๊ณผ ๊ฐ ํ”ผ์—ฐ์‚ฐ์ž์— ๋Œ€์‘ํ•˜๋Š” ๊ฐ’๋“ค์„ ์ž…๋ ฅ๋ฐ›๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ C์–ธ์–ด ์Šคํƒ์— ๊ด„ํ˜ธ ํ˜น์€ ์—ฐ์‚ฐ์ž๋งŒ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์—ˆ๋˜ ํ›„์œ„ ํ‘œ๊ธฐ์‹ ๋ฌธ์ œ์™€ ๋‹ฌ๋ฆฌ ์ด ๋ฌธ์ œ์—์„œ ์Šคํƒ์—๋Š” ์ˆซ์ž๋งŒ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋ˆ—์…ˆ์„ ํ•œ ํ›„์˜ ๊ฐ’์ด ์ •์ˆ˜๊ฐ€ ์•„๋‹ ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— doubleํ˜• ๋ฐฐ์—ด๋กœ ์Šคํƒ์„ ํ‘œํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ›„์œ„ ํ‘œ๊ธฐ์‹์„ ๋ฌธ์ž์—ด str์— ์ž…๋ ฅ๋ฐ›๊ณ  i๋ฅผ ํฌํ•จํ•œ for๋ฌธ์—์„œ ..

๋ฐฑ์ค€ 1918๋ฒˆ: ํ›„์œ„ ํ‘œ๊ธฐ์‹

๋ฌธ์ œ https://www.acmicpc.net/problem/1918 1918๋ฒˆ: ํ›„์œ„ ํ‘œ๊ธฐ์‹ ์ฒซ์งธ ์ค„์— ์ค‘์œ„ ํ‘œ๊ธฐ์‹์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹จ ์ด ์ˆ˜์‹์˜ ํ”ผ์—ฐ์‚ฐ์ž๋Š” ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง€๋ฉฐ ์ˆ˜์‹์—์„œ ํ•œ ๋ฒˆ์”ฉ๋งŒ ๋“ฑ์žฅํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  -A+B์™€ ๊ฐ™์ด -๊ฐ€ ๊ฐ€์žฅ ์•ž์— ์˜ค๊ฑฐ๋‚˜ AB์™€ ๊ฐ™์ด *๊ฐ€ ์ƒ๋žต๋˜๋Š” ๋“ฑ์˜ www.acmicpc.net ํ’€์ด ์Šคํƒ์„ ์ด์šฉํ•˜์—ฌ ์—ฐ์‚ฐ์ž๊ฐ€ ํ”ผ์—ฐ์‚ฐ์ž ์‚ฌ์ด์— ์žˆ๋Š” ์ค‘์œ„ ํ‘œ๊ธฐ์‹์„ ์—ฐ์‚ฐ์ž๊ฐ€ ํ”ผ์—ฐ์‚ฐ์ž ์•ž์— ์žˆ๋Š” ํ›„์œ„ ํ‘œ๊ธฐ์‹์œผ๋กœ ๋ฐ”๊พธ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ›„์œ„ ํ‘œ๊ธฐ์‹์€ ์ค‘์œ„ ํ‘œ๊ธฐ์‹๊ณผ ๋‹ค๋ฅด๊ฒŒ ์—ฐ์‚ฐ์ž์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์—†์–ด์„œ ์ˆœ์„œ๋Œ€๋กœ ๊ณ„์‚ฐํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๋กœ ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์˜ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ๋ฌธ์ œ์—์„œ๋Š” ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์ˆซ์ž๊ฐ€ ์•„๋‹ˆ๋ผ 1๊ฐœ์˜ ๋ฌธ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ์ˆซ์ž์˜ ์ž๋ฆฟ์ˆ˜๋ฅผ ์ƒ๊ฐํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ ..

์Šคํƒ(Stack)

์Šคํƒ์ด๋ž€?Stack : (๋ณดํ†ต ๊น”๋”ํ•˜๊ฒŒ ์ •๋ˆ๋œ) ๋ฌด๋”๊ธฐ[๋”๋ฏธ] (์ถœ์ฒ˜ : ๋„ค์ด๋ฒ„ ์˜์–ด์‚ฌ์ „)ํ›„์ž…์„ ์ถœ(LIFO : Last in First out) ๋˜๋Š” ์„ ์ž…ํ›„์ถœ(FILO : First in Last out)์˜ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ํ•œ์ชฝ ๋ฐฉํ–ฅ์—์„œ๋งŒ ์ผ์–ด๋‚œ๋‹ค.์Šคํƒ์˜ ์—ฐ์‚ฐpush(s, item) : ์Šคํƒ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€pop(s) : ์Šคํƒ ์ตœ์ƒ๋‹จ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์‚ญ์ œis_full(s) : ์Šคํƒ ํฌํ™”์ƒํƒœ ๊ฒ€์‚ฌis_empty(s) : ์Šคํƒ ๊ณต๋ฐฑ์ƒํƒœ ๊ฒ€์‚ฌpeek(s) : ์Šคํƒ ์ตœ์ƒ๋‹จ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜, ์‚ญ์ œX์Šคํƒ ์‚ฌ์šฉ ์˜ˆ์‹œ์–ด๋–ค ํ•จ์ˆ˜๊ฐ€ ์ž๊ธฐ ์ž์‹ ์„ ๋‹ค์‹œ ํ˜ธ์ถœํ•  ๋•Œ ๋ณต๊ท€ ์ฃผ์†Œ๋ฅผ ์‹œ์Šคํ…œ ์Šคํƒ์— ์ €์žฅํ•˜๊ณ  ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ์œ„ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ์ง€์—ญ๋ณ€์ˆ˜๋ฅผ ์Šคํƒ์œผ๋กœ๋ถ€ํ„ฐ ํ• ๋‹น๋ฐ›๋Š”๋‹ค..