๋ฐ˜์‘ํ˜•

๐Ÿ•๏ธ ICPC Sinchon/Linear Data Structure 15

[BOJ S1][C++] ๋ฐฑ์ค€ 4889๋ฒˆ : ์•ˆ์ •์ ์ธ ๋ฌธ์ž์—ด

https://www.acmicpc.net/problem/4889 4889๋ฒˆ: ์•ˆ์ •์ ์ธ ๋ฌธ์ž์—ด ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ค„์—๋Š” ์—ฌ๋Š” ๊ด„ํ˜ธ์™€ ๋‹ซ๋Š” ๊ด„ํ˜ธ๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 2000์„ ๋„˜๋Š” ๊ฒฝ์šฐ www.acmicpc.net ๋ฌธ์ œ ์—ฌ๋Š” ๊ด„ํ˜ธ์™€ ๋‹ซ๋Š” ๊ด„ํ˜ธ๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์—ฌ๊ธฐ์„œ ์•ˆ์ •์ ์ธ ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ตœ์†Œ ์—ฐ์‚ฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์•ˆ์ •์ ์ธ ๋ฌธ์ž์—ด์˜ ์ •์˜๋ž€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋นˆ ๋ฌธ์ž์—ด์€ ์•ˆ์ •์ ์ด๋‹ค. S๊ฐ€ ์•ˆ์ •์ ์ด๋ผ๋ฉด, {S}๋„ ์•ˆ์ •์ ์ธ ๋ฌธ์ž์—ด์ด๋‹ค. S์™€ T๊ฐ€ ์•ˆ์ •์ ์ด๋ผ๋ฉด, ST(๋‘ ๋ฌธ์ž์—ด์˜ ์—ฐ๊ฒฐ)๋„ ์•ˆ์ •์ ์ด๋‹ค. {}, {}{}, {{}{}}๋Š” ์•ˆ์ •์ ์ธ ๋ฌธ์ž์—ด์ด์ง€๋งŒ, }{, {{}{, {}{๋Š” ..

[BOJ S3][C++] ๋ฐฑ์ค€ 18115๋ฒˆ : ์นด๋“œ ๋†“๊ธฐ

https://www.acmicpc.net/problem/18115 18115๋ฒˆ: ์นด๋“œ ๋†“๊ธฐ ์ˆ˜ํ˜„์ด๋Š” ์นด๋“œ ๊ธฐ์ˆ ์„ ์—ฐ์Šตํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜ํ˜„์ด์˜ ์†์— ๋“ค๋ฆฐ ์นด๋“œ๋ฅผ ํ•˜๋‚˜์”ฉ ๋‚ด๋ ค๋†“์•„ ๋ฐ”๋‹ฅ์— ์Œ“์œผ๋ ค๊ณ  ํ•œ๋‹ค. ์ˆ˜ํ˜„์ด๊ฐ€ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์€ ๋‹ค์Œ 3๊ฐ€์ง€๋‹ค. ์ œ์ผ ์œ„์˜ ์นด๋“œ 1์žฅ์„ ๋ฐ”๋‹ฅ์— ๋‚ด๋ ค๋†“๋Š”๋‹ค. www.acmicpc.net ๋ฌธ์ œ ์ˆ˜ํ˜„์ด๋Š” ์นด๋“œ ๊ธฐ์ˆ ์„ ์—ฐ์Šตํ•˜๊ณ  ์žˆ๋‹ค. ์ˆ˜ํ˜„์ด์˜ ์†์— ๋“ค๋ฆฐ ์นด๋“œ๋ฅผ ํ•˜๋‚˜์”ฉ ๋‚ด๋ ค๋†“์•„ ๋ฐ”๋‹ฅ์— ์Œ“์œผ๋ ค๊ณ  ํ•œ๋‹ค. ์ˆ˜ํ˜„์ด๊ฐ€ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์€ ๋‹ค์Œ 3๊ฐ€์ง€๋‹ค. ์ œ์ผ ์œ„์˜ ์นด๋“œ 1์žฅ์„ ๋ฐ”๋‹ฅ์— ๋‚ด๋ ค๋†“๋Š”๋‹ค. ์œ„์—์„œ ๋‘ ๋ฒˆ์งธ ์นด๋“œ๋ฅผ ๋ฐ”๋‹ฅ์— ๋‚ด๋ ค๋†“๋Š”๋‹ค. ์นด๋“œ๊ฐ€ 2์žฅ ์ด์ƒ์ผ ๋•Œ๋งŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์ œ์ผ ๋ฐ‘์— ์žˆ๋Š” ์นด๋“œ๋ฅผ ๋ฐ”๋‹ฅ์— ๋‚ด๋ ค๋†“๋Š”๋‹ค. ์นด๋“œ๊ฐ€ 2์žฅ ์ด์ƒ์ผ ๋•Œ๋งŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์ˆ˜ํ˜„์ด๋Š” ์ฒ˜์Œ์— ์นด๋“œ N์žฅ์„ ๋“ค๊ณ  ์žˆ๋‹ค..

[BOJ S5][C++] ๋ฐฑ์ค€ 11866๋ฒˆ : ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ 0

https://www.acmicpc.net/problem/11866 11866๋ฒˆ: ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ 0 ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net ๋ฌธ์ œ ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ N๋ช…์˜ ์‚ฌ๋žŒ์ด ์›์„ ์ด๋ฃจ๋ฉด์„œ ์•‰์•„์žˆ๊ณ , ์–‘์˜ ์ •์ˆ˜ K(≤ N)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด์ œ ์ˆœ์„œ๋Œ€๋กœ K๋ฒˆ์งธ ์‚ฌ๋žŒ์„ ์ œ๊ฑฐํ•œ๋‹ค. ํ•œ ์‚ฌ๋žŒ์ด ์ œ๊ฑฐ๋˜๋ฉด ๋‚จ์€ ์‚ฌ๋žŒ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์›์„ ๋”ฐ๋ผ ์ด ๊ณผ์ •์„ ๊ณ„์†ํ•ด ๋‚˜๊ฐ„๋‹ค. ์ด ๊ณผ์ •์€ N๋ช…์˜ ์‚ฌ๋žŒ์ด ๋ชจ๋‘ ์ œ๊ฑฐ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์†๋œ๋‹ค. ์›์—์„œ ์‚ฌ๋žŒ๋“ค์ด ์ œ๊ฑฐ๋˜๋Š” ์ˆœ์„œ๋ฅผ (N, K)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์ด๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด (7, 3)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์€ ์ด๋‹ค. N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง€๋ฉด (N, K)-์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ..

[BOJ S5][C++] ๋ฐฑ์ค€ 7785๋ฒˆ : ํšŒ์‚ฌ์— ์žˆ๋Š” ์‚ฌ๋žŒ

https://www.acmicpc.net/problem/7785 7785๋ฒˆ: ํšŒ์‚ฌ์— ์žˆ๋Š” ์‚ฌ๋žŒ ์ฒซ์งธ ์ค„์— ๋กœ๊ทธ์— ๊ธฐ๋ก๋œ ์ถœ์ž… ๊ธฐ๋ก์˜ ์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค. (2 ≤ n ≤ 106) ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” ์ถœ์ž… ๊ธฐ๋ก์ด ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง€๋ฉฐ, ๊ฐ ์‚ฌ๋žŒ์˜ ์ด๋ฆ„์ด ์ฃผ์–ด์ง€๊ณ  "enter"๋‚˜ "leave"๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. "enter"์ธ ๊ฒฝ์šฐ๋Š” www.acmicpc.net ๋ฌธ์ œ ์ƒ๊ทผ์ด๋Š” ์„ธ๊ณ„์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ํšŒ์‚ฌ ๊ธฐ๊ธ€์—์„œ ์ผํ•œ๋‹ค. ์ด ํšŒ์‚ฌ์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ ์ž์œ ๋กœ์šด ์ถœํ‡ด๊ทผ ์‹œ๊ฐ„์ด๋‹ค. ๋”ฐ๋ผ์„œ, ์ง์›๋“ค์€ ๋ฐ˜๋“œ์‹œ 9์‹œ๋ถ€ํ„ฐ 6์‹œ๊นŒ์ง€ ํšŒ์‚ฌ์— ์žˆ์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ๊ฐ ์ง์›์€ ์ž๊ธฐ๊ฐ€ ์›ํ•  ๋•Œ ์ถœ๊ทผํ•  ์ˆ˜ ์žˆ๊ณ , ์•„๋ฌด๋•Œ๋‚˜ ํ‡ด๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์˜ ์ถœ์ž…์นด๋“œ ์‹œ์Šคํ…œ์˜ ๋กœ๊ทธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด ๋กœ๊ทธ๋Š” ์–ด๋–ค ์‚ฌ๋žŒ์ด ํšŒ์‚ฌ์— ๋“ค์–ด์™”๋Š”์ง€, ๋‚˜๊ฐ”..

[BOJ S5][C++] ๋ฐฑ์ค€ 11723๋ฒˆ : ์ง‘ํ•ฉ

https://www.acmicpc.net/problem/11723 11723๋ฒˆ: ์ง‘ํ•ฉ ์ฒซ์งธ ์ค„์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์—ฐ์‚ฐ์˜ ์ˆ˜ M (1 ≤ M ≤ 3,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์—ฐ์‚ฐ์ด ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋ฌธ์ œ ๋น„์–ด์žˆ๋Š” ๊ณต์ง‘ํ•ฉ S๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์•„๋ž˜ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. add x: S์— x๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. (1 ≤ x ≤ 20) S์— x๊ฐ€ ์ด๋ฏธ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์—ฐ์‚ฐ์„ ๋ฌด์‹œํ•œ๋‹ค. remove x: S์—์„œ x๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. (1 ≤ x ≤ 20) S์— x๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” ์—ฐ์‚ฐ์„ ๋ฌด์‹œํ•œ๋‹ค. check x: S์— x๊ฐ€ ์žˆ์œผ๋ฉด 1์„, ์—†์œผ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค. (1 ≤ x ≤ 20) toggle x: S์— x๊ฐ€ ์žˆ์œผ๋ฉด x๋ฅผ ์ œ๊ฑฐํ•˜๊ณ ..

๋ฐ˜์‘ํ˜•