๋ฐ˜์‘ํ˜•

๐Ÿ•๏ธ ICPC Sinchon/Two Pointer 13

[BOJ][C++] ๋ฐฑ์ค€ 2473๋ฒˆ: ์„ธ ์šฉ์•ก

https://www.acmicpc.net/problem/2473 ๋ฌธ์ œKOI ๋ถ€์„ค ๊ณผํ•™์—ฐ๊ตฌ์†Œ์—์„œ๋Š” ๋งŽ์€ ์ข…๋ฅ˜์˜ ์‚ฐ์„ฑ ์šฉ์•ก๊ณผ ์•Œ์นผ๋ฆฌ์„ฑ ์šฉ์•ก์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค. ๊ฐ ์šฉ์•ก์—๋Š” ๊ทธ ์šฉ์•ก์˜ ํŠน์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ•˜๋‚˜์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ ธ์žˆ๋‹ค.  ์‚ฐ์„ฑ ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์€ 1๋ถ€ํ„ฐ 1,000,000,000๊นŒ์ง€์˜ ์–‘์˜ ์ •์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ด๊ณ , ์•Œ์นผ๋ฆฌ์„ฑ ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์€ -1๋ถ€ํ„ฐ -1,000,000,000๊นŒ์ง€์˜ ์Œ์˜ ์ •์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.๊ฐ™์€ ์–‘์˜ ์„ธ ๊ฐ€์ง€ ์šฉ์•ก์„ ํ˜ผํ•ฉํ•œ ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์€ ํ˜ผํ•ฉ์— ์‚ฌ์šฉ๋œ ๊ฐ ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์˜ ํ•ฉ์œผ๋กœ ์ •์˜ํ•œ๋‹ค. ์ด ์—ฐ๊ตฌ์†Œ์—์„œ๋Š” ๊ฐ™์€ ์–‘์˜ ์„ธ ๊ฐ€์ง€ ์šฉ์•ก์„ ํ˜ผํ•ฉํ•˜์—ฌ ํŠน์„ฑ๊ฐ’์ด 0์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์šฉ์•ก์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฃผ์–ด์ง„ ์šฉ์•ก๋“ค์˜ ํŠน์„ฑ๊ฐ’์ด [-2, 6, -97, -6, 98]์ธ ๊ฒฝ์šฐ์—๋Š” ํŠน์„ฑ๊ฐ’์ด -97์™€ -2์ธ ์šฉ์•ก..

[BOJ][C++] ๋ฐฑ์ค€ 1593๋ฒˆ: ๋ฌธ์ž ํ•ด๋…

https://www.acmicpc.net/problem/1593 ๋ฌธ์ œ๋งˆ์•ผ ๋ฌธ์ž๋ฅผ ํ•ด๋…ํ•˜๋Š” ์ผ์€ ์˜ˆ์ƒ ์™ธ๋กœ ์–ด๋ ค์šด ์ผ์ด๋‹ค. ํ˜„์žฌ์—๋„ ๋œป์ด ์™„์ „ํžˆ ๋ฐํ˜€์ง„ ๋งˆ์•ผ ๋ฌธ์ž๋Š” ๊ฑฐ์˜ ์—†๋Š” ์‹ค์ •์ด๋ฉฐ, ๊ทธ๋‚˜๋งˆ ํ•ด๋…์— ์ง„์ฒ™์ด ์‹œ์ž‘๋œ ์ง€๋Š” 30์—ฌ ๋…„๋„ ๋˜์ง€ ์•Š์•˜๋‹ค.๋งˆ์•ผ ๋ฌธ์ž๋Š” ์†Œ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๊ทธ๋ฆผ๊ธ€์ž๋กœ ๊ตฌ์„ฑ๋˜๋Š”๋ฐ, ์ด ๊ธ€์ž๋“ค์ด ์—ฌ๋Ÿฌ ์œ„์น˜์—์„œ ๊ฒฐํ•ฉํ•จ์œผ๋กœ์จ ๋‹จ์–ด๋ฅผ ํ˜•์„ฑํ•œ๋‹ค.๋งˆ์•ผ ๋ฌธ์ž ํ•ด๋…์„ ์–ด๋ ต๊ฒŒ ํ•˜๋Š” ์š”์ธ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ”๋กœ ๋‹จ์–ด๋ฅผ ์ฝ๋Š” ์ˆœ์„œ์ด๋‹ค. ๋งˆ์•ผ ๋ฌธ์ž๋ฅผ ์“ฐ๋Š” ๊ณ ๋Œ€์ธ๋“ค์€ ๋‹จ์–ด๋ฅผ ๊ธฐ๋กํ•  ๋•Œ ํŠน์ •ํ•œ ๊ทœ์น™ ๋Œ€์‹ , ๊ทธ๋“ค์ด ๋ณด๊ธฐ์— ์ข‹๊ฒŒ ๋ณด์ด๋„๋ก ๋‹จ์–ด๋ฅผ ์ด๋ฃจ๋Š” ๊ธ€์ž๋“ค์„ ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ ๋ฐฐ์—ดํ–ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ณ ๊ณ ํ•™์ž๋“ค์ด ๋งˆ์•ผ ๊ธฐ๋ก์—์„œ ๋‹จ์–ด๋ฅผ ์ด๋ฃจ๋Š” ๊ฐ ๊ทธ๋ฆผ๊ธ€์ž๋“ค์˜ ๋ฐœ์Œ์„ ์•Œ์•„๋‚ด๋”๋ผ๋„ ๊ทธ ๋‹จ์–ด๋ฅผ ์‹ค์ œ๋กœ ๋ฐœ์Œํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ •ํ™•ํžˆ ..

[BOJ][C++] ๋ฐฑ์ค€ 15565๋ฒˆ: ๊ท€์—ฌ์šด ๋ผ์ด์–ธ

https://www.acmicpc.net/problem/15565 ๋ฌธ์ œ๊ฟ€๊ท€ ๋ผ์ด์–ธ ์ธํ˜•๊ณผ, ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฟ€๊ท€์ธ ์–ดํ”ผ์น˜ ์ธํ˜•์ด N๊ฐœ ์ผ๋ ฌ๋กœ ๋†“์—ฌ ์žˆ๋‹ค. ๋ผ์ด์–ธ ์ธํ˜•์€ 1, ์–ดํ”ผ์น˜ ์ธํ˜•์€ 2๋กœ ํ‘œํ˜„ํ•˜์ž. ๋ผ์ด์–ธ ์ธํ˜•์ด K๊ฐœ ์ด์ƒ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ์—ฐ์†๋œ ์ธํ˜•๋“ค์˜ ์ง‘ํ•ฉ์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜์—ฌ๋ผ.์ž…๋ ฅ์ฒซ ์ค„์— N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ K ≤ N ≤ 106)๋‘˜์งธ ์ค„์— N๊ฐœ์˜ ์ธํ˜•์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ๋˜๋Š” 2)์ถœ๋ ฅK๊ฐœ ์ด์ƒ์˜ ๋ผ์ด์–ธ ์ธํ˜•์„ ํฌํ•จํ•˜๋Š” ๊ฐ€์žฅ ์ž‘์€ ์—ฐ์†๋œ ์ธํ˜•๋“ค์˜ ์ง‘ํ•ฉ์˜ ํฌ๊ธฐ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๊ทธ๋Ÿฐ ์ง‘ํ•ฉ์ด ์—†๋‹ค๋ฉด -1์„ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ดํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•„๋‹Œ ๋ฐฑ์ค€์— ๋ผ์ด์–ธ ๋‚˜์™€๋„ ๋˜๋Š”๊ฑฐ์ž„?์ „ํ˜•์ ์ธ ํˆฌํฌ์ธํ„ฐ ๋ฌธ์ œ๋‹จ ํฌ์ธํ„ฐ๋ฅผ ์›€์ง์ด๋ฉด์„œ ์—ฐ์‚ฐํ•  ๋•Œ ๋”ํ•˜๊ธฐ์™€ ๋นผ๊ธฐ๋ฅผ ์กฐ๊ฑด์— ๋งž๊ฒŒ ์ž˜ ํ•ด์•ผํ•˜๋‹ˆ ์ฃผ์˜ํ•˜์ž// ํ’€์ด : https:..

[BOJ][C++] ๋ฐฑ์ค€ 1806๋ฒˆ: ๋ถ€๋ถ„ํ•ฉ

https://www.acmicpc.net/problem/1806 ๋ฌธ์ œ10,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๊ธธ์ด N์งœ๋ฆฌ ์ˆ˜์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜์—ด์—์„œ ์—ฐ์†๋œ ์ˆ˜๋“ค์˜ ๋ถ€๋ถ„ํ•ฉ ์ค‘์— ๊ทธ ํ•ฉ์ด S ์ด์ƒ์ด ๋˜๋Š” ๊ฒƒ ์ค‘, ๊ฐ€์žฅ ์งง์€ ๊ฒƒ์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์ž…๋ ฅ์ฒซ์งธ ์ค„์— N (10 ≤ N ์ถœ๋ ฅ์ฒซ์งธ ์ค„์— ๊ตฌํ•˜๊ณ ์ž ํ•˜๋Š” ์ตœ์†Œ์˜ ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์ผ ๊ทธ๋Ÿฌํ•œ ํ•ฉ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด 0์„ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ํ’€์ด// ํ’€์ด : https://whkakrkr.tistory.com#include #include using namespace std;int main() { int n, s; cin >> n >> s; vectorv(n); for(int i=0; i> v[i]; } ..

[BOJ][C++] ๋ฐฑ์ค€ 7795๋ฒˆ: ๋จน์„ ๊ฒƒ์ธ๊ฐ€ ๋จนํž ๊ฒƒ์ธ๊ฐ€

https://www.acmicpc.net/problem/7795 ๋ฌธ์ œ์‹ฌํ•ด์—๋Š” ๋‘ ์ข…๋ฅ˜์˜ ์ƒ๋ช…์ฒด A์™€ B๊ฐ€ ์กด์žฌํ•œ๋‹ค. A๋Š” B๋ฅผ ๋จน๋Š”๋‹ค. A๋Š” ์ž๊ธฐ๋ณด๋‹ค ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋จน์ด๋งŒ ๋จน์„ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, A์˜ ํฌ๊ธฐ๊ฐ€ {8, 1, 7, 3, 1}์ด๊ณ , B์˜ ํฌ๊ธฐ๊ฐ€ {3, 6, 1}์ธ ๊ฒฝ์šฐ์— A๊ฐ€ B๋ฅผ ๋จน์„ ์ˆ˜ ์žˆ๋Š” ์Œ์˜ ๊ฐœ์ˆ˜๋Š” 7๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. 8-3, 8-6, 8-1, 7-3, 7-6, 7-1, 3-1.๋‘ ์ƒ๋ช…์ฒด A์™€ B์˜ ํฌ๊ธฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, A์˜ ํฌ๊ธฐ๊ฐ€ B๋ณด๋‹ค ํฐ ์Œ์ด ๋ช‡ ๊ฐœ๋‚˜ ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์ž…๋ ฅ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” A์˜ ์ˆ˜ N๊ณผ B์˜ ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” A์˜ ํฌ๊ธฐ๊ฐ€ ๋ชจ๋‘ ์ฃผ์–ด์ง€๋ฉฐ, ์…‹์งธ ์ค„์—๋Š” B์˜ ํฌ๊ธฐ๊ฐ€ ๋ชจ๋‘ ..

[BOJ][C++] ๋ฐฑ์ค€ 2467๋ฒˆ: ์šฉ์•ก

https://www.acmicpc.net/problem/2467 ๋ฌธ์ œKOI ๋ถ€์„ค ๊ณผํ•™์—ฐ๊ตฌ์†Œ์—์„œ๋Š” ๋งŽ์€ ์ข…๋ฅ˜์˜ ์‚ฐ์„ฑ ์šฉ์•ก๊ณผ ์•Œ์นผ๋ฆฌ์„ฑ ์šฉ์•ก์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค. ๊ฐ ์šฉ์•ก์—๋Š” ๊ทธ ์šฉ์•ก์˜ ํŠน์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ•˜๋‚˜์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ ธ์žˆ๋‹ค. ์‚ฐ์„ฑ ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์€ 1๋ถ€ํ„ฐ 1,000,000,000๊นŒ์ง€์˜ ์–‘์˜ ์ •์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ด๊ณ , ์•Œ์นผ๋ฆฌ์„ฑ ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์€ -1๋ถ€ํ„ฐ -1,000,000,000๊นŒ์ง€์˜ ์Œ์˜ ์ •์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.๊ฐ™์€ ์–‘์˜ ๋‘ ์šฉ์•ก์„ ํ˜ผํ•ฉํ•œ ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์€ ํ˜ผํ•ฉ์— ์‚ฌ์šฉ๋œ ๊ฐ ์šฉ์•ก์˜ ํŠน์„ฑ๊ฐ’์˜ ํ•ฉ์œผ๋กœ ์ •์˜ํ•œ๋‹ค. ์ด ์—ฐ๊ตฌ์†Œ์—์„œ๋Š” ๊ฐ™์€ ์–‘์˜ ๋‘ ์šฉ์•ก์„ ํ˜ผํ•ฉํ•˜์—ฌ ํŠน์„ฑ๊ฐ’์ด 0์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์šฉ์•ก์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฃผ์–ด์ง„ ์šฉ์•ก๋“ค์˜ ํŠน์„ฑ๊ฐ’์ด [-99, -2, -1, 4, 98]์ธ ๊ฒฝ์šฐ์—๋Š” ํŠน์„ฑ๊ฐ’์ด -99์ธ ์šฉ์•ก๊ณผ ํŠน์„ฑ๊ฐ’์ด 98์ธ ..

[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 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 ๋ฌธ์ œ ํšŒ์ „ ์ดˆ๋ฐฅ ์Œ์‹์ ์—๋Š” ํšŒ์ „ํ•˜๋Š” ๋ฒจํŠธ ์œ„์— ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ์ดˆ๋ฐฅ์ด ์ ‘์‹œ์— ๋‹ด๊ฒจ ๋†“์—ฌ ์žˆ๊ณ , ์†๋‹˜์€ ์ด ์ค‘์—์„œ ์ž๊ธฐ๊ฐ€ ์ข‹์•„ํ•˜๋Š” ์ดˆ๋ฐฅ์„ ๊ณจ๋ผ์„œ ๋จน๋Š”๋‹ค. ์ดˆ๋ฐฅ์˜ ์ข…๋ฅ˜๋ฅผ ๋ฒˆํ˜ธ๋กœ ํ‘œํ˜„ํ•  ๋•Œ, ๋‹ค์Œ ๊ทธ๋ฆผ์€ ํšŒ์ „ ์ดˆ๋ฐฅ ์Œ์‹์ ์˜ ๋ฒจํŠธ ์ƒํƒœ์˜ ์˜ˆ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋‹ค. ๋ฒจํŠธ ์œ„์—๋Š” ๊ฐ™์€ ์ข…๋ฅ˜์˜ ์ดˆ๋ฐฅ์ด ๋‘˜ ์ด์ƒ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์ƒˆ๋กœ ๋ฌธ์„ ์—ฐ ํšŒ์ „ ์ดˆ๋ฐฅ ์Œ์‹์ ์ด ๋ถˆ๊ฒฝ๊ธฐ๋กœ ์˜์—…์ด..

๋ฐ˜์‘ํ˜•