๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

(55)
[C++/๋ฐฑ์ค€] 25178 : ๋‘๋ผ๋ฌด๋ฆฌ ํœด์ง€ ๋ฌธ์ œ ๊ธฐ๋ น์ด๋Š” ์–ด๋Š ๋‚  ์บ ๋ฆฟ๋ธŒ์ง€ ๋Œ€ํ•™์˜ ์—ฐ๊ฒฐ๊ตฌ๊ณผ์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์บ ๋ฆฟ๋ธŒ์ง€ ๋Œ€ํ•™์˜ ์—ฐ๊ฒฐ๊ตฌ๊ณผ๋ž€, ๋‹จ์–ด๋ฅผ ์ดํ•ดํ•จ์— ์žˆ์–ด ํ•œ ๋‹จ์–ด ์•ˆ์—์„œ ๊ธ€์ž๋“ค์ด ์–ด๋–ค ์ˆœ์„œ๋กœ ๋ฐฐ์—ด๋˜์–ด ์žˆ๋Š”์ง€๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š๊ณ , ์–‘ ๋์˜ ๊ธ€์ž๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ์ง€๋งŒ ์ค‘์š”ํ•˜๋‹ค๋Š” ์ด๋ก ์ด๋‹ค. ์ฆ‰ ๋‹จ์–ด์˜ ๊ธ€์ž๊ฐ€ ์„ž์ด๋”๋ผ๋„ ์–‘ ๋์˜ ๊ธ€์ž๋งŒ ๊ทธ๋Œ€๋กœ๋ผ๋ฉด ์›๋ž˜์˜ ๋‹จ์–ด๋ฅผ ์‰ฝ๊ฒŒ ์œ ์ถ”ํ•˜์—ฌ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ๋ น์ด๋Š” "durumari"์™€ ๊ฐ™์€ ๋‹จ์–ด๋ฅผ "daumurri"๋กœ ๋ฐ”๊พธ๊ฒŒ ๋œ๋‹ค๋ฉด ์›๋ž˜์˜ ๋‹จ์–ด๋ฅผ ์œ ์ถ”ํ•˜๊ธฐ ๋งค์šฐ ์–ด๋ ค์›Œ์ง„๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ๋ช‡ ๋‚  ๋ฉฐ์น ์˜ ๊ณ ๋ฏผ์„ ๊ฑฐ๋“ญํ•œ ๋์— ์œ„์˜ ์ด๋ก ์ด ์ž˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด์„ ์ƒˆ๋กญ๊ฒŒ ์ฐพ์•„๋ƒˆ๋‹ค. ํ•œ ๋‹จ์–ด๋ฅผ ์žฌ๋ฐฐ์—ดํ•ด ๋‹ค๋ฅธ ๋‹จ์–ด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋‘ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž์™€ ๋งˆ์ง€๋ง‰ ๊ธ€์ž๋Š” ์„œ๋กœ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ ๋‹จ์–ด์—์„œ ..
[C++/๋ฐฑ์ค€] 2502 : ๋–ก ๋จน๋Š” ํ˜ธ๋ž‘์ด ๋ฌธ์ œ ํ•˜๋ฃจ์— ํ•œ ๋ฒˆ ์‚ฐ์„ ๋„˜์–ด๊ฐ€๋Š” ๋–ก ์žฅ์‚ฌ ํ• ๋จธ๋‹ˆ๋Š” ํ˜ธ๋ž‘์ด์—๊ฒŒ ๋–ก์„ ์ฃผ์–ด์•ผ ์‚ฐ์„ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์š•์‹ฌ ๋งŽ์€ ํ˜ธ๋ž‘์ด๋Š” ์–ด์ œ ๋ฐ›์€ ๋–ก์˜ ๊ฐœ์ˆ˜์™€ ๊ทธ์ €๊ป˜ ๋ฐ›์€ ๋–ก์˜ ๊ฐœ์ˆ˜๋ฅผ ๋”ํ•œ ๋งŒํผ์˜ ๋–ก์„ ๋ฐ›์•„์•ผ๋งŒ ํ• ๋จธ๋‹ˆ๋ฅผ ๋ฌด์‚ฌํžˆ ๋ณด๋‚ด ์ค€๋‹ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ฒซ์งธ ๋‚ ์— ๋–ก์„ 1๊ฐœ ์ฃผ์—ˆ๊ณ , ๋‘˜์งธ ๋‚ ์—๋Š” ๋–ก์„ 2๊ฐœ ์ฃผ์—ˆ๋‹ค๋ฉด ์…‹์งธ ๋‚ ์—๋Š” 1+2=3๊ฐœ, ๋„ท์งธ ๋‚ ์—๋Š” 2+3=5๊ฐœ, ๋‹ค์„ฏ์งธ ๋‚ ์—๋Š” 3+5=8๊ฐœ, ์—ฌ์„ฏ์งธ ๋‚ ์—๋Š” 5+8=13๊ฐœ๋ฅผ ์ฃผ์–ด์•ผ๋งŒ ๋ฌด์‚ฌํžˆ ์‚ฐ์„ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์‚ฐ์„ ๋ฌด์‚ฌํžˆ ๋„˜์–ด์˜จ ํ• ๋จธ๋‹ˆ์—๊ฒŒ ์˜ค๋Š˜ ํ˜ธ๋ž‘์ด์—๊ฒŒ ๋ช‡ ๊ฐœ์˜ ๋–ก์„ ์ฃผ์—ˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์˜ค๋Š˜์ด ํ˜ธ๋ž‘์ด๋ฅผ ๋งŒ๋‚˜ ๋–ก์„ ์ค€์ง€ ๋ฉฐ์น ์ด ๋˜์—ˆ๋Š”์ง€๋ฅผ ์•Œ์•„๋‚ด์—ˆ๋‹ค. ํ• ๋จธ๋‹ˆ๊ฐ€ ํ˜ธ๋ž‘์ด๋ฅผ ๋งŒ๋‚˜์„œ ๋ฌด์‚ฌํžˆ ๋„˜์–ด์˜จ D์งธ ๋‚ ์— ์ค€ ๋–ก์˜ ๊ฐœ์ˆ˜๊ฐ€ K๊ฐœ์ž„์„ ์•Œ ๋•Œ, ์—ฌ๋Ÿฌ๋ถ„์€ ํ• ๋จธ๋‹ˆ๊ฐ€ ํ˜ธ๋ž‘์ด..
[C++/๋ฐฑ์ค€] 11650, 11651 : ์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ 1, 2 ๋ฌธ์ œ(11650) 2์ฐจ์› ํ‰๋ฉด ์œ„์˜ ์  N๊ฐœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ขŒํ‘œ๋ฅผ x์ขŒํ‘œ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์œผ๋กœ, x์ขŒํ‘œ๊ฐ€ ๊ฐ™์œผ๋ฉด y์ขŒํ‘œ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋กœ ์ •๋ ฌํ•œ ๋‹ค์Œ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ ์˜ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” i๋ฒˆ์ ์˜ ์œ„์น˜ xi์™€ yi๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขŒํ‘œ๋Š” ํ•ญ์ƒ ์ •์ˆ˜์ด๊ณ , ์œ„์น˜๊ฐ€ ๊ฐ™์€ ๋‘ ์ ์€ ์—†๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ์ ์„ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. 11650๋ฒˆ์€ x์ขŒํ‘œ ์šฐ์„ ์œผ๋กœ ์ •๋ ฌ ํ›„ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ. ๊ตฌ์กฐ์ฒด์™€ ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ , algorithm ํ—ค๋”์˜ sort ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ ฌํ•˜์˜€๋‹ค. sort(v.begin(), v.end(), compare) -> v์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ..
[C++/๋ฐฑ์ค€] 10989 : ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 3 ๋ฌธ์ œ N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 10,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” 10,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋ธŒ๋ก ์ฆˆ 1ํ‹ฐ์–ด. ์ฒ˜์Œ์—๋Š” ์•„๋ฌด ์ƒ๊ฐ ์—†์ด ๋ฐฐ์—ด์—๋‹ค๊ฐ€ ์ž…๋ ฅ์„ ๋ชจ๋‘ ์ €์žฅํ•˜๊ณ , ๋ฒ„๋ธ” ์ •๋ ฌ ์‹์œผ๋กœ ํ’€๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ํŠน์ดํ•˜๊ฒŒ๋„ ์ด ๋ฌธ์ œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์ด 8MB์ด์—ˆ๋‹ค.(์•„์ฃผ ์ž‘์€ ํŽธ) ๊ทธ๋ž˜์„œ ๋ฐฐ์—ด ํฌ๊ธฐ + ์ •๋ ฌ ์‹œ๊ฐ„ -> ์‹คํŒจ ์˜ˆ๊ฐ // ์•„๋ž˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ ์ฝ”๋“œ int main() { int n; int a = 0; int nums[10000000] = { 0, }; cin >> n; for (int i = 0; i > num..
[C++/๋ฐฑ์ค€] 2920 : ์Œ๊ณ„ ๋ฌธ์ œ ๋‹ค์žฅ์กฐ๋Š” c d e f g a b C, ์ด 8๊ฐœ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ 8๊ฐœ ์Œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆซ์ž๋กœ ๋ฐ”๊พธ์–ด ํ‘œํ˜„ํ•œ๋‹ค. c๋Š” 1๋กœ, d๋Š” 2๋กœ, ..., C๋ฅผ 8๋กœ ๋ฐ”๊พผ๋‹ค. 1๋ถ€ํ„ฐ 8๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ ์—ฐ์ฃผํ•œ๋‹ค๋ฉด ascending, 8๋ถ€ํ„ฐ 1๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ ์—ฐ์ฃผํ•œ๋‹ค๋ฉด descending, ๋‘˜ ๋‹ค ์•„๋‹ˆ๋ผ๋ฉด mixed ์ด๋‹ค. ์—ฐ์ฃผํ•œ ์ˆœ์„œ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๊ฒƒ์ด ascending์ธ์ง€, descending์ธ์ง€, ์•„๋‹ˆ๋ฉด mixed์ธ์ง€ ํŒ๋ณ„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋ธŒ๋ก ์ฆˆ 2. PS์— ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์žˆ์„ ๊ฒƒ ๊ฐ™์•„ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์ž…๋ ฅ๊ณผ ๋™์‹œ์— ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๊ฐ€์žฅ ํšจ์œจ์ ์ผ ๊ฒƒ ๊ฐ™์•„์„œ, ๋ฐ˜๋ณต๋ฌธ ์•ˆ์— if๋ฌธ์„ ๋„ฃ์–ด๋ฒ„๋ ธ๋‹ค. ๊ทผ๋ฐ ๋‹ค๋ฅธ ํ’€์ด๋ฅผ ๋ณด๋‹ˆ ์ˆซ์ž ๋ˆ„์  ๋ง๊ณ  ๊ทธ๋ƒฅ tf๋กœ ํ–ˆ์–ด๋„ ๋˜๋Š”๊ฑฐ์˜€๋„ค...ใ…Žใ…Ž #include..
[C++/๋ฐฑ์ค€] 2775 : ๋ถ€๋…€ํšŒ์žฅ์ด ๋ ํ…Œ์•ผ ๋ฌธ์ œ ํ‰์†Œ ๋ฐ˜์ƒํšŒ์— ์ฐธ์„ํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๋Š” ์ฃผํฌ๋Š” ์ด๋ฒˆ ๊ธฐํšŒ์— ๋ถ€๋…€ํšŒ์žฅ์ด ๋˜๊ณ  ์‹ถ์–ด ๊ฐ ์ธต์˜ ์‚ฌ๋žŒ๋“ค์„ ๋ถˆ๋Ÿฌ ๋ชจ์•„ ๋ฐ˜์ƒํšŒ๋ฅผ ์ฃผ์ตœํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ด ์•„ํŒŒํŠธ์— ๊ฑฐ์ฃผ๋ฅผ ํ•˜๋ ค๋ฉด ์กฐ๊ฑด์ด ์žˆ๋Š”๋ฐ, “a์ธต์˜ bํ˜ธ์— ์‚ด๋ ค๋ฉด ์ž์‹ ์˜ ์•„๋ž˜(a-1)์ธต์˜ 1ํ˜ธ๋ถ€ํ„ฐ bํ˜ธ๊นŒ์ง€ ์‚ฌ๋žŒ๋“ค์˜ ์ˆ˜์˜ ํ•ฉ๋งŒํผ ์‚ฌ๋žŒ๋“ค์„ ๋ฐ๋ ค์™€ ์‚ด์•„์•ผ ํ•œ๋‹ค” ๋Š” ๊ณ„์•ฝ ์กฐํ•ญ์„ ๊ผญ ์ง€ํ‚ค๊ณ  ๋“ค์–ด์™€์•ผ ํ•œ๋‹ค. ์•„ํŒŒํŠธ์— ๋น„์–ด์žˆ๋Š” ์ง‘์€ ์—†๊ณ  ๋ชจ๋“  ๊ฑฐ์ฃผ๋ฏผ๋“ค์ด ์ด ๊ณ„์•ฝ ์กฐ๊ฑด์„ ์ง€ํ‚ค๊ณ  ์™”๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, ์ฃผ์–ด์ง€๋Š” ์–‘์˜ ์ •์ˆ˜ k์™€ n์— ๋Œ€ํ•ด k์ธต์— nํ˜ธ์—๋Š” ๋ช‡ ๋ช…์ด ์‚ด๊ณ  ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋ผ. ๋‹จ, ์•„ํŒŒํŠธ์—๋Š” 0์ธต๋ถ€ํ„ฐ ์žˆ๊ณ  ๊ฐ์ธต์—๋Š” 1ํ˜ธ๋ถ€ํ„ฐ ์žˆ์œผ๋ฉฐ, 0์ธต์˜ iํ˜ธ์—๋Š” i๋ช…์ด ์‚ฐ๋‹ค. ๋ธŒ๋ก ์ฆˆ 1. ์ƒ๊ฐ๋ณด๋‹ค ๋ฌธ์ œ ํ’€๊ธฐ๊ฐ€ ๋ณต์žกํ•˜๊ณ  ๊นŒ๋‹ค๋กœ์› ๋‹ค. ์ด์ฐจ์›๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ํ’€์—ˆ๋”๋‹ˆ ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์—์„œ C..
[C++/๋ฐฑ์ค€] 1712 : ์†์ต๋ถ„๊ธฐ์  ๋ฌธ์ œ ์›”๋“œ์ „์ž๋Š” ๋…ธํŠธ๋ถ์„ ์ œ์กฐํ•˜๊ณ  ํŒ๋งคํ•˜๋Š” ํšŒ์‚ฌ์ด๋‹ค. ๋…ธํŠธ๋ถ ํŒ๋งค ๋Œ€์ˆ˜์— ์ƒ๊ด€์—†์ด ๋งค๋…„ ์ž„๋Œ€๋ฃŒ, ์žฌ์‚ฐ์„ธ, ๋ณดํ—˜๋ฃŒ, ๊ธ‰์—ฌ ๋“ฑ A๋งŒ์›์˜ ๊ณ ์ • ๋น„์šฉ์ด ๋“ค๋ฉฐ, ํ•œ ๋Œ€์˜ ๋…ธํŠธ๋ถ์„ ์ƒ์‚ฐํ•˜๋Š” ๋ฐ์—๋Š” ์žฌ๋ฃŒ๋น„์™€ ์ธ๊ฑด๋น„ ๋“ฑ ์ด B๋งŒ์›์˜ ๊ฐ€๋ณ€ ๋น„์šฉ์ด ๋“ ๋‹ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด A=1,000, B=70์ด๋ผ๊ณ  ํ•˜์ž. ์ด ๊ฒฝ์šฐ ๋…ธํŠธ๋ถ์„ ํ•œ ๋Œ€ ์ƒ์‚ฐํ•˜๋Š” ๋ฐ๋Š” ์ด 1,070๋งŒ์›์ด ๋“ค๋ฉฐ, ์—ด ๋Œ€ ์ƒ์‚ฐํ•˜๋Š” ๋ฐ๋Š” ์ด 1,700๋งŒ์›์ด ๋“ ๋‹ค. ๋…ธํŠธ๋ถ ๊ฐ€๊ฒฉ์ด C๋งŒ์›์œผ๋กœ ์ฑ…์ •๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ์‚ฐ ๋Œ€์ˆ˜๋ฅผ ๋Š˜๋ ค ๊ฐ€๋‹ค ๋ณด๋ฉด ์–ด๋Š ์ˆœ๊ฐ„ ์ด ์ˆ˜์ž…(ํŒ๋งค๋น„์šฉ)์ด ์ด ๋น„์šฉ(=๊ณ ์ •๋น„์šฉ+๊ฐ€๋ณ€๋น„์šฉ)๋ณด๋‹ค ๋งŽ์•„์ง€๊ฒŒ ๋œ๋‹ค. ์ตœ์ดˆ๋กœ ์ด ์ˆ˜์ž…์ด ์ด ๋น„์šฉ๋ณด๋‹ค ๋งŽ์•„์ ธ ์ด์ต์ด ๋ฐœ์ƒํ•˜๋Š” ์ง€์ ์„ ์†์ต๋ถ„๊ธฐ์ (BREAK-EVEN POINT)์ด๋ผ๊ณ  ํ•œ๋‹ค. A, B, C๊ฐ€ ์ฃผ์–ด์กŒ..

728x90