๋ฐ˜์‘ํ˜•

๐Ÿ• Baaaaaarking/0x05๊ฐ• - ์Šคํƒ 6

[BOJ G1][C++] ๋ฐฑ์ค€ 3015๋ฒˆ: ์˜ค์•„์‹œ์Šค ์žฌ๊ฒฐํ•ฉ

https://www.acmicpc.net/problem/3015 3015๋ฒˆ: ์˜ค์•„์‹œ์Šค ์žฌ๊ฒฐํ•ฉ ์ฒซ์งธ ์ค„์— ์ค„์—์„œ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์˜ ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 500,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ์‚ฌ๋žŒ์˜ ํ‚ค๊ฐ€ ๋‚˜๋…ธ๋ฏธํ„ฐ ๋‹จ์œ„๋กœ ์ฃผ์–ด์ง„๋‹ค. ๋ชจ๋“  ์‚ฌ๋žŒ์˜ ํ‚ค๋Š” 231 ๋‚˜๋…ธ๋ฏธํ„ฐ ๋ณด๋‹ค ์ž‘๋‹ค. ์‚ฌ๋žŒ www.acmicpc.net ๋ฌธ์ œ ์˜ค์•„์‹œ์Šค์˜ ์žฌ๊ฒฐํ•ฉ ๊ณต์—ฐ์— N๋ช…์ด ํ•œ ์ค„๋กœ ์„œ์„œ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋‹ค. ์ด ์—ญ์‚ฌ์ ์ธ ์ˆœ๊ฐ„์„ ๋งž์ดํ•˜๊ธฐ ์œ„ํ•ด ์ค„์—์„œ์„œ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋˜ ๋ฐฑ์ค€์ด๋Š” ๊ฐ‘์ž๊ธฐ ์ž๊ธฐ๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์˜ ์ˆ˜๊ฐ€ ๊ถ๊ธˆํ•ด ์กŒ๋‹ค. ๋‘ ์‚ฌ๋žŒ A์™€ B๊ฐ€ ์„œ๋กœ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ ค๋ฉด, ๋‘ ์‚ฌ๋žŒ ์‚ฌ์ด์— A ๋˜๋Š” B๋ณด๋‹ค ํ‚ค๊ฐ€ ํฐ ์‚ฌ๋žŒ์ด ์—†์–ด์•ผ ํ•œ๋‹ค. ์ค„์— ์„œ์žˆ๋Š” ์‚ฌ๋žŒ์˜ ํ‚ค๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์„œ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์Œ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ..

[BOJ G4][C++] ๋ฐฑ์ค€ 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์— ๋Œ€ํ•ด์„œ ์˜คํฐ์ˆ˜ NGE(i)๋ฅผ ๊ตฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. Ai์˜ ์˜คํฐ์ˆ˜๋Š” ์˜ค๋ฅธ์ชฝ์— ์žˆ์œผ๋ฉด์„œ Ai๋ณด๋‹ค ํฐ ์ˆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ๋Š” ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋Ÿฌํ•œ ์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์— ์˜คํฐ์ˆ˜๋Š” -1์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, A = [3, 5, 2, 7]์ธ ๊ฒฝ์šฐ NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1์ด๋‹ค..

[BOJ G5][C++] ๋ฐฑ์ค€ 6198๋ฒˆ: ์˜ฅ์ƒ ์ •์› ๊พธ๋ฏธ๊ธฐ

https://www.acmicpc.net/problem/6198 6198๋ฒˆ: ์˜ฅ์ƒ ์ •์› ๊พธ๋ฏธ๊ธฐ ๋ฌธ์ œ ๋„์‹œ์—๋Š” N๊ฐœ์˜ ๋นŒ๋”ฉ์ด ์žˆ๋‹ค. ๋นŒ๋”ฉ ๊ด€๋ฆฌ์ธ๋“ค์€ ๋งค์šฐ ์„ฑ์‹ค ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ค๋ฅธ ๋นŒ๋”ฉ์˜ ์˜ฅ์ƒ ์ •์›์„ ๋ฒค์น˜๋งˆํ‚น ํ•˜๊ณ  ์‹ถ์–ดํ•œ๋‹ค. i๋ฒˆ์งธ ๋นŒ๋”ฉ์˜ ํ‚ค๊ฐ€ hi์ด๊ณ , ๋ชจ๋“  ๋นŒ๋”ฉ์€ ์ผ๋ ฌ๋กœ ์„œ ์žˆ๊ณ  ์˜ค๋ฅธ์ชฝ์œผ www.acmicpc.net ๋ฌธ์ œ ๋„์‹œ์—๋Š” N๊ฐœ์˜ ๋นŒ๋”ฉ์ด ์žˆ๋‹ค. ๋นŒ๋”ฉ ๊ด€๋ฆฌ์ธ๋“ค์€ ๋งค์šฐ ์„ฑ์‹ค ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ค๋ฅธ ๋นŒ๋”ฉ์˜ ์˜ฅ์ƒ ์ •์›์„ ๋ฒค์น˜๋งˆํ‚น ํ•˜๊ณ  ์‹ถ์–ดํ•œ๋‹ค. i๋ฒˆ์งธ ๋นŒ๋”ฉ์˜ ํ‚ค๊ฐ€ hi์ด๊ณ , ๋ชจ๋“  ๋นŒ๋”ฉ์€ ์ผ๋ ฌ๋กœ ์„œ ์žˆ๊ณ  ์˜ค๋ฅธ์ชฝ์œผ๋กœ๋งŒ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. i๋ฒˆ์งธ ๋นŒ๋”ฉ ๊ด€๋ฆฌ์ธ์ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ๋นŒ๋”ฉ์˜ ์˜ฅ์ƒ ์ •์›์€ i+1, i+2, .... , N์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ž์‹ ์ด ์œ„์น˜ํ•œ ๋นŒ๋”ฉ๋ณด๋‹ค ๋†’๊ฑฐ๋‚˜ ๊ฐ™์€ ๋นŒ๋”ฉ์ด ์žˆ์œผ๋ฉด ๊ทธ ๋‹ค์Œ์— ์žˆ๋Š” ๋ชจ๋“  ๋นŒ..

[BOJ G5][C++] ๋ฐฑ์ค€ 2493๋ฒˆ: ํƒ‘

https://www.acmicpc.net/problem/2493 2493๋ฒˆ: ํƒ‘ ์ฒซ์งธ ์ค„์— ํƒ‘์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1 ์ด์ƒ 500,000 ์ดํ•˜์ด๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” N๊ฐœ์˜ ํƒ‘๋“ค์˜ ๋†’์ด๊ฐ€ ์ง์„ ์ƒ์— ๋†“์ธ ์ˆœ์„œ๋Œ€๋กœ ํ•˜๋‚˜์˜ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ํƒ‘๋“ค์˜ ๋†’์ด๋Š” 1 www.acmicpc.net ๋ฌธ์ œ KOI ํ†ต์‹ ์—ฐ๊ตฌ์†Œ๋Š” ๋ ˆ์ด์ €๋ฅผ ์ด์šฉํ•œ ์ƒˆ๋กœ์šด ๋น„๋ฐ€ ํ†ต์‹  ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์‹คํ—˜์„ ํ•˜๊ณ  ์žˆ๋‹ค. ์‹คํ—˜์„ ์œ„ํ•˜์—ฌ ์ผ์ง์„  ์œ„์— N๊ฐœ์˜ ๋†’์ด๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ํƒ‘์„ ์ˆ˜ํ‰ ์ง์„ ์˜ ์™ผ์ชฝ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ์ฐจ๋ก€๋กœ ์„ธ์šฐ๊ณ , ๊ฐ ํƒ‘์˜ ๊ผญ๋Œ€๊ธฐ์— ๋ ˆ์ด์ € ์†ก์‹ ๊ธฐ๋ฅผ ์„ค์น˜ํ•˜์˜€๋‹ค. ๋ชจ๋“  ํƒ‘์˜ ๋ ˆ์ด์ € ์†ก์‹ ๊ธฐ๋Š” ๋ ˆ์ด์ € ์‹ ํ˜ธ๋ฅผ ์ง€ํ‘œ๋ฉด๊ณผ ํ‰ํ–‰ํ•˜๊ฒŒ ์ˆ˜ํ‰ ์ง์„ ์˜ ์™ผ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐœ์‚ฌํ•˜๊ณ , ํƒ‘์˜ ๊ธฐ๋‘ฅ ๋ชจ๋‘์—๋Š” ๋ ˆ์ด์ € ์‹ ํ˜ธ๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ์žฅ..

[BOJ][C++] 1874๋ฒˆ : ์Šคํƒ ์ˆ˜์—ด

https://www.acmicpc.net/problem/1874 1874๋ฒˆ: ์Šคํƒ ์ˆ˜์—ด 1๋ถ€ํ„ฐ n๊นŒ์ง€์— ์ˆ˜์— ๋Œ€ํ•ด ์ฐจ๋ก€๋กœ [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ˆ˜์—ด [4, 3, 6, 8, 7, 5, 2, 1]์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. www.acmicpc.net ๋ฌธ์ œ ์Šคํƒ (stack)์€ ๊ธฐ๋ณธ์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ, ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ๋•Œ ์ž์ฃผ ์ด์šฉ๋˜๋Š” ๊ฐœ๋…์ด๋‹ค. ์Šคํƒ์€ ์ž๋ฃŒ๋ฅผ ๋„ฃ๋Š” (push) ์ž…๊ตฌ์™€ ์ž๋ฃŒ๋ฅผ ๋ฝ‘๋Š” (pop) ์ž…๊ตฌ๊ฐ€ ๊ฐ™์•„ ์ œ์ผ ๋‚˜์ค‘์— ๋“ค์–ด๊ฐ„ ์ž๋ฃŒ๊ฐ€ ์ œ์ผ ๋จผ์ € ๋‚˜์˜ค๋Š” (LIFO, Last in First out) ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 1๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ์ˆ˜..

[BOJ][C++] ๋ฐฑ์ค€ 10773๋ฒˆ : ์ œ๋กœ

https://www.acmicpc.net/problem/10773 10773๋ฒˆ: ์ œ๋กœ ์ฒซ ๋ฒˆ์งธ ์ค„์— ์ •์ˆ˜ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ K ≤ 100,000) ์ดํ›„ K๊ฐœ์˜ ์ค„์— ์ •์ˆ˜๊ฐ€ 1๊ฐœ์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ •์ˆ˜๋Š” 0์—์„œ 1,000,000 ์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ, ์ •์ˆ˜๊ฐ€ "0" ์ผ ๊ฒฝ์šฐ์—๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ์— ์“ด ์ˆ˜๋ฅผ ์ง€์šฐ๊ณ , ์•„๋‹ ๊ฒฝ www.acmicpc.net ๋ฌธ์ œ ๋‚˜์ฝ”๋” ๊ธฐ์žฅ ์žฌ๋ฏผ์ด๋Š” ๋™์•„๋ฆฌ ํšŒ์‹์„ ์ค€๋น„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์žฅ๋ถ€๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ค‘์ด๋‹ค. ์žฌํ˜„์ด๋Š” ์žฌ๋ฏผ์ด๋ฅผ ๋„์™€์„œ ๋ˆ์„ ๊ด€๋ฆฌํ•˜๋Š” ์ค‘์ธ๋ฐ, ์• ์„ํ•˜๊ฒŒ๋„ ํ•ญ์ƒ ์ •์‹ ์—†๋Š” ์žฌํ˜„์ด๋Š” ๋ˆ์„ ์‹ค์ˆ˜๋กœ ์ž˜๋ชป ๋ถ€๋ฅด๋Š” ์‚ฌ๊ณ ๋ฅผ ์น˜๊ธฐ ์ผ์‘ค์˜€๋‹ค. ์žฌํ˜„์ด๋Š” ์ž˜๋ชป๋œ ์ˆ˜๋ฅผ ๋ถ€๋ฅผ ๋•Œ๋งˆ๋‹ค 0์„ ์™ธ์ณ์„œ, ๊ฐ€์žฅ ์ตœ๊ทผ์— ์žฌ๋ฏผ์ด๊ฐ€ ์“ด ์ˆ˜๋ฅผ ์ง€์šฐ๊ฒŒ ์‹œํ‚จ๋‹ค. ์žฌ๋ฏผ์ด๋Š” ์ด๋ ‡๊ฒŒ ๋ชจ๋“  ์ˆ˜๋ฅผ ๋ฐ›์•„ ์ ์€ ํ›„ ๊ทธ ์ˆ˜์˜ ํ•ฉ์„ ์•Œ..

๋ฐ˜์‘ํ˜•