๋ฐ˜์‘ํ˜•

๐ŸŒฒ Altu-Bitu 20

[BOJ][C++] ๋ฐฑ์ค€ 2003๋ฒˆ: ์ˆ˜๋“ค์˜ ํ•ฉ 2

https://www.acmicpc.net/problem/2003 2003๋ฒˆ: ์ˆ˜๋“ค์˜ ํ•ฉ 2 ์ฒซ์งธ ์ค„์— N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” A[1], A[2], …, A[N]์ด ๊ณต๋ฐฑ์œผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ A[x]๋Š” 30,000์„ ๋„˜์ง€ ์•Š๋Š” ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ๋ฌธ์ œ N๊ฐœ์˜ ์ˆ˜๋กœ ๋œ ์ˆ˜์—ด A[1], A[2], …, A[N] ์ด ์žˆ๋‹ค. ์ด ์ˆ˜์—ด์˜ i๋ฒˆ์งธ ์ˆ˜๋ถ€ํ„ฐ j๋ฒˆ์งธ ์ˆ˜๊นŒ์ง€์˜ ํ•ฉ A[i] + A[i+1] + … + A[j-1] + A[j]๊ฐ€ M์ด ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” A[1]..

[BOJ][C++] ๋ฐฑ์ค€ 14425๋ฒˆ: ๋ฌธ์ž์—ด ์ง‘ํ•ฉ

https://www.acmicpc.net/problem/14425 14425๋ฒˆ: ๋ฌธ์ž์—ด ์ง‘ํ•ฉ ์ฒซ์งธ ์ค„์— ๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜ N๊ณผ M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ์ง‘ํ•ฉ S์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ž์—ด๋“ค์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๊ฒ€์‚ฌํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ž์—ด๋“ค์ด ์ฃผ์–ด www.acmicpc.net ํ’€์ด ์ž๋ฃŒ๊ตฌ์กฐ ์„ ์ด์šฉํ•˜์—ฌ ํ’€์ด #include #include using namespace std; int main() { set s; int m, n; string input; cin >> m >> n; while(m--) { cin >> input; s.insert(input); } int ans = 0; while(n--) { cin >> input; if(..

[BOJ S4][C++] ๋ฐฑ์ค€ 14911๋ฒˆ: ๊ถํ•ฉ ์Œ ์ฐพ๊ธฐ

https://www.acmicpc.net/problem/14911 14911๋ฒˆ: ๊ถํ•ฉ ์Œ ์ฐพ๊ธฐ ์ฒซ์งธ ์ค„์— ๋นˆ ์นธ์œผ๋กœ ๊ตฌ๋ถ„๋œ ์ •์ˆ˜๊ฐ€ 2๊ฐœ ์ด์ƒ, 10๊ฐœ ์ดํ•˜ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์ •์ˆ˜๊ฐ€ ํ•˜๋‚˜ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜๋Š” 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ๋ฌธ์ œ ์ฒซ์งธ ์ค„์— ์ฃผ์–ด์ง„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ •์ˆ˜ ์ค‘์—์„œ ํ•ฉ์ด ๋‘˜์งธ ์ค„์— ์ฃผ์–ด์ง„ ์ˆ˜์™€ ๊ฐ™์€ ์„œ๋กœ ๋‹ค๋ฅธ ์œ„์น˜์— ์žˆ๋Š” ๋‘ ์ˆ˜์˜ ์Œ์„ ๋ชจ๋‘ ์ถœ๋ ฅํ•˜๊ณ  ๋งจ ์•„๋ž˜์— ์ด ์Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ด์–ด์„œ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋นˆ ์นธ์œผ๋กœ ๊ตฌ๋ถ„๋œ ์ •์ˆ˜๊ฐ€ 2๊ฐœ ์ด์ƒ, 10๊ฐœ ์ดํ•˜ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์ •์ˆ˜๊ฐ€ ํ•˜๋‚˜ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜๋Š” 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์ถœ๋ ฅ ์ฐพ์€ ์ˆ˜์˜ ์Œ์„ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•˜๊ณ  ๋งจ ..

[BOJ S3][C++] ๋ฐฑ์ค€ 2910๋ฒˆ: ๋นˆ๋„ ์ •๋ ฌ

https://www.acmicpc.net/problem/2910 2910๋ฒˆ: ๋นˆ๋„ ์ •๋ ฌ ์ฒซ์งธ ์ค„์— ๋ฉ”์‹œ์ง€์˜ ๊ธธ์ด N๊ณผ C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) ๋‘˜์งธ ์ค„์— ๋ฉ”์‹œ์ง€ ์ˆ˜์—ด์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ๋ฌธ์ œ ์œ„๋Œ€ํ•œ ํ•ด์ปค ์ฐฝ์˜์ด๋Š” ๋ชจ๋“  ์•”ํ˜ธ๋ฅผ ๊นจ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ๊ทธ ๋ฐฉ๋ฒ•์€ ๋นˆ๋„๋ฅผ ์กฐ์‚ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฐฝ์˜์ด๋Š” ๋งํ•  ์ˆ˜ ์—†๋Š” ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•ด์„œ ํ˜„์šฐ๊ฐ€ ๊ฐ•์‚ฐ์ด์—๊ฒŒ ๋ณด๋‚ด๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํš๋“ํ–ˆ๋‹ค. ์ด ๋ฉ”์‹œ์ง€๋Š” ์ˆซ์ž N๊ฐœ๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด์ด๊ณ , ์ˆซ์ž๋Š” ๋ชจ๋‘ C๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์ฐฝ์˜์ด๋Š” ์ด ์ˆซ์ž๋ฅผ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๋นˆ๋„์ˆœ๋Œ€๋กœ ์ •๋ ฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋งŒ์•ฝ, ์ˆ˜์—ด์˜ ๋‘ ์ˆ˜ X์™€ Y๊ฐ€ ์žˆ์„ ๋•Œ, X๊ฐ€ Y๋ณด๋‹ค ์ˆ˜์—ด์—์„œ ๋งŽ์ด ๋“ฑ์žฅํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” X๊ฐ€ Y๋ณด๋‹ค ์•ž์— ์žˆ์–ด์•ผ ํ•œ๋‹ค...

[BOJ S2][C++] ๋ฐฑ์ค€ 18111๋ฒˆ: ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ

https://www.acmicpc.net/problem/18111 18111๋ฒˆ: ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ ํŒ€ ๋ ˆ๋“œ์‹œํ”„ํŠธ๋Š” ๋Œ€ํšŒ ์ค€๋น„๋ฅผ ํ•˜๋‹ค๊ฐ€ ์ง€๋ฃจํ•ด์ ธ์„œ ์ƒŒ๋“œ๋ฐ•์Šค ๊ฒŒ์ž„์ธ ‘๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ’๋ฅผ ์ผฐ๋‹ค. ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ๋Š” 1 × 1 × 1(์„ธ๋กœ, ๊ฐ€๋กœ, ๋†’์ด) ํฌ๊ธฐ์˜ ๋ธ”๋ก๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ 3์ฐจ์› ์„ธ๊ณ„์—์„œ ์ž์œ ๋กญ๊ฒŒ www.acmicpc.net ๋ฌธ์ œ ํŒ€ ๋ ˆ๋“œ์‹œํ”„ํŠธ๋Š” ๋Œ€ํšŒ ์ค€๋น„๋ฅผ ํ•˜๋‹ค๊ฐ€ ์ง€๋ฃจํ•ด์ ธ์„œ ์ƒŒ๋“œ๋ฐ•์Šค ๊ฒŒ์ž„์ธ ‘๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ’๋ฅผ ์ผฐ๋‹ค. ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ๋Š” 1 × 1 × 1(์„ธ๋กœ, ๊ฐ€๋กœ, ๋†’์ด) ํฌ๊ธฐ์˜ ๋ธ”๋ก๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ 3์ฐจ์› ์„ธ๊ณ„์—์„œ ์ž์œ ๋กญ๊ฒŒ ๋•…์„ ํŒŒ๊ฑฐ๋‚˜ ์ง‘์„ ์ง€์„ ์ˆ˜ ์žˆ๋Š” ๊ฒŒ์ž„์ด๋‹ค. ๋ชฉ์žฌ๋ฅผ ์ถฉ๋ถ„ํžˆ ๋ชจ์€ lvalue๋Š” ์ง‘์„ ์ง“๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ๊ณ ๋ฅด์ง€ ์•Š์€ ๋•…์—๋Š” ์ง‘์„ ์ง€์„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋•…์˜ ๋†’์ด๋ฅผ ๋ชจ๋‘ ๋™์ผํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ‘๋•… ๊ณ ๋ฅด๊ธฐ’ ..

[BOJ S2][C++] ๋ฐฑ์ค€ 3085๋ฒˆ: ์‚ฌํƒ• ๊ฒŒ์ž„

https://www.acmicpc.net/problem/3085 3085๋ฒˆ: ์‚ฌํƒ• ๊ฒŒ์ž„ ์˜ˆ์ œ 3์˜ ๊ฒฝ์šฐ 4๋ฒˆ ํ–‰์˜ Y์™€ C๋ฅผ ๋ฐ”๊พธ๋ฉด ์‚ฌํƒ• ๋„ค ๊ฐœ๋ฅผ ๋จน์„ ์ˆ˜ ์žˆ๋‹ค. www.acmicpc.net ๋ฌธ์ œ ์ƒ๊ทผ์ด๋Š” ์–ด๋ ธ์„ ์ ์— "๋ด„๋ณด๋‹ˆ (Bomboni)" ๊ฒŒ์ž„์„ ์ฆ๊ฒจํ–ˆ๋‹ค. ๊ฐ€์žฅ ์ฒ˜์Œ์— N×Nํฌ๊ธฐ์— ์‚ฌํƒ•์„ ์ฑ„์›Œ ๋†“๋Š”๋‹ค. ์‚ฌํƒ•์˜ ์ƒ‰์€ ๋ชจ๋‘ ๊ฐ™์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์‚ฌํƒ•์˜ ์ƒ‰์ด ๋‹ค๋ฅธ ์ธ์ ‘ํ•œ ๋‘ ์นธ์„ ๊ณ ๋ฅธ๋‹ค. ๊ทธ ๋‹ค์Œ ๊ณ ๋ฅธ ์นธ์— ๋“ค์–ด์žˆ๋Š” ์‚ฌํƒ•์„ ์„œ๋กœ ๊ตํ™˜ํ•œ๋‹ค. ์ด์ œ, ๋ชจ๋‘ ๊ฐ™์€ ์ƒ‰์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” ๊ฐ€์žฅ ๊ธด ์—ฐ์† ๋ถ€๋ถ„(ํ–‰ ๋˜๋Š” ์—ด)์„ ๊ณ ๋ฅธ ๋‹ค์Œ ๊ทธ ์‚ฌํƒ•์„ ๋ชจ๋‘ ๋จน๋Š”๋‹ค. ์‚ฌํƒ•์ด ์ฑ„์›Œ์ง„ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ƒ๊ทผ์ด๊ฐ€ ๋จน์„ ์ˆ˜ ์žˆ๋Š” ์‚ฌํƒ•์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋ณด๋“œ์˜ ํฌ๊ธฐ N์ด ..

[BOJ S1][C++] ๋ฐฑ์ค€ 2531๋ฒˆ: ํšŒ์ „ ์ดˆ๋ฐฅ

https://www.acmicpc.net/problem/2531 2531๋ฒˆ: ํšŒ์ „ ์ดˆ๋ฐฅ ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ํšŒ์ „ ์ดˆ๋ฐฅ ๋ฒจํŠธ์— ๋†“์ธ ์ ‘์‹œ์˜ ์ˆ˜ N, ์ดˆ๋ฐฅ์˜ ๊ฐ€์ง“์ˆ˜ d, ์—ฐ์†ํ•ด์„œ ๋จน๋Š” ์ ‘์‹œ์˜ ์ˆ˜ k, ์ฟ ํฐ ๋ฒˆํ˜ธ c๊ฐ€ ๊ฐ๊ฐ ํ•˜๋‚˜์˜ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ๋‹จ, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net ๋ฌธ์ œ ํšŒ์ „ ์ดˆ๋ฐฅ ์Œ์‹์ ์—๋Š” ํšŒ์ „ํ•˜๋Š” ๋ฒจํŠธ ์œ„์— ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ์ดˆ๋ฐฅ์ด ์ ‘์‹œ์— ๋‹ด๊ฒจ ๋†“์—ฌ ์žˆ๊ณ , ์†๋‹˜์€ ์ด ์ค‘์—์„œ ์ž๊ธฐ๊ฐ€ ์ข‹์•„ํ•˜๋Š” ์ดˆ๋ฐฅ์„ ๊ณจ๋ผ์„œ ๋จน๋Š”๋‹ค. ์ดˆ๋ฐฅ์˜ ์ข…๋ฅ˜๋ฅผ ๋ฒˆํ˜ธ๋กœ ํ‘œํ˜„ํ•  ๋•Œ, ๋‹ค์Œ ๊ทธ๋ฆผ์€ ํšŒ์ „ ์ดˆ๋ฐฅ ์Œ์‹์ ์˜ ๋ฒจํŠธ ์ƒํƒœ์˜ ์˜ˆ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋‹ค. ๋ฒจํŠธ ์œ„์—๋Š” ๊ฐ™์€ ์ข…๋ฅ˜์˜ ์ดˆ๋ฐฅ์ด ๋‘˜ ์ด์ƒ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์ƒˆ๋กœ ๋ฌธ์„ ์—ฐ ํšŒ์ „ ์ดˆ๋ฐฅ ์Œ์‹์ ์ด ๋ถˆ๊ฒฝ๊ธฐ๋กœ ์˜์—…์ด..

๋ฐ˜์‘ํ˜•