[c++] BOJ 1501 :: ์˜์–ด ์ฝ๊ธฐ
Algorithm ๋ฌธ์ œ/BOJ 2021. 10. 7. 20:22

๋ฌธ์ œ [์˜์–ด ์ฝ๊ธฐ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ] 1501๋ฒˆ: ์˜์–ด ์ฝ๊ธฐ ์ฒซ์งธ ์ค„์— ์‚ฌ์ „์— ์žˆ๋Š” ๋‹จ์–ด๋“ค์˜ ๊ฐœ์ˆ˜ N(0 ≤ N ≤ 10,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ์ค„์— ํ•˜๋‚˜์”ฉ, ์˜์–ด ์‚ฌ์ „์— ์žˆ๋Š” ๋‹จ์–ด๋“ค์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ๋‹จ์–ด์˜ ๊ธธ์ด๋Š” 100์ž๋ฅผ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ๋‹ค์Œ ์ค„์— www.acmicpc.net ํ˜น์‹œ ์ธํ„ฐ๋„ท์„ ํ•˜๋‹ค๊ฐ€, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹์˜ ๋ฌธ์žฅ์„ ๋ณธ ์ ์ด ์žˆ๋Š”๊ฐ€? It is itnersetnig taht pepole can raed smoe grabeld wrods. ์›๋ž˜์˜ ๋ฌธ์žฅ์€ 'It is interesting that people can read some garbled words'์ด๋‹ค. ๊ฐ๊ฐ์˜ ๋‹จ์–ด๋“ค์€ ์ œ์ผ ์ฒซ ๋ฌธ์ž์™€ ์ œ์ผ ๋ ๋ฌธ์ž๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์ˆœ์„œ๊ฐ€ ๋’ค์„ž์—ฌ ์žˆ๋‹ค. ํ•œ ๋Œ€ํ•™์—์„œ ์‹œํ–‰ํ•œ ์—ฐ๊ตฌ ์กฐ์‚ฌ ๊ฒฐ๊ณผ์—..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ๋„๋‘‘์งˆ
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2021. 3. 27. 01:06

๋ฌธ์ œ ๋ฌธ์ œ ์„ค๋ช… ๋„๋‘‘์ด ์–ด๋Š ๋งˆ์„์„ ํ„ธ ๊ณ„ํš์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋งˆ์„์˜ ๋ชจ๋“  ์ง‘๋“ค์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋™๊ทธ๋ž—๊ฒŒ ๋ฐฐ์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ง‘๋“ค์€ ์„œ๋กœ ์ธ์ ‘ํ•œ ์ง‘๋“ค๊ณผ ๋ฐฉ๋ฒ”์žฅ์น˜๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ธ์ ‘ํ•œ ๋‘ ์ง‘์„ ํ„ธ๋ฉด ๊ฒฝ๋ณด๊ฐ€ ์šธ๋ฆฝ๋‹ˆ๋‹ค. ๊ฐ ์ง‘์— ์žˆ๋Š” ๋ˆ์ด ๋‹ด๊ธด ๋ฐฐ์—ด money๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ๋„๋‘‘์ด ํ›”์น  ์ˆ˜ ์žˆ๋Š” ๋ˆ์˜ ์ตœ๋Œ“๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ ์ด ๋งˆ์„์— ์žˆ๋Š” ์ง‘์€ 3๊ฐœ ์ด์ƒ 1,000,000๊ฐœ ์ดํ•˜์ž…๋‹ˆ๋‹ค. money ๋ฐฐ์—ด์˜ ๊ฐ ์›์†Œ๋Š” 0 ์ด์ƒ 1,000 ์ดํ•˜์ธ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค. ํ’€์ด ๋งŒ์•ฝ ์™„์ „ํƒ์ƒ‰์œผ๋กœ ํ•˜๊ณ ์ž ํ–ˆ๋‹ค๋ฉด? ๋ฐ˜๋ณต์„ index 0๋ถ€ํ„ฐ n-1๊นŒ์ง€ ๋Œ๋ฉด์„œ ํ•ด๋‹น ์ง‘์—์„œ ์‹œ์ž‘ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ์ตœ๋Œ€์˜ money๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์Œ ํ•˜์ง€๋งŒ index 2๋ฅผ ๊ณ ๋ฅธ๋‹ค๋ฉด, ์ง‘์˜ ๊ฐœ์ˆ˜..

[c++] BOJ 2225 :: ํ•ฉ๋ถ„ํ•ด
Algorithm ๋ฌธ์ œ/BOJ 2021. 3. 21. 20:40

๋‚œ์ด๋„ : ๊ณจ๋“œ 5 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 50๋ถ„ ๋ฌธ์ œ ํ•ฉ๋ถ„ํ•ด ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ 2225๋ฒˆ: ํ•ฉ๋ถ„ํ•ด ์ฒซ์งธ ์ค„์— ๋‹ต์„ 1,000,000,000์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net 0๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ์ •์ˆ˜ K๊ฐœ๋ฅผ ๋”ํ•ด์„œ ๊ทธ ํ•ฉ์ด N์ด ๋˜๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋ง์…ˆ์˜ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€ ๊ฒฝ์šฐ๋Š” ๋‹ค๋ฅธ ๊ฒฝ์šฐ๋กœ ์„ผ๋‹ค(1+2์™€ 2+1์€ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒฝ์šฐ). ๋˜ํ•œ ํ•œ ๊ฐœ์˜ ์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์“ธ ์ˆ˜๋„ ์žˆ๋‹ค. ํ’€์ด ์ž‘์€ ๋ฌธ์ œ : ํ˜„์žฌ ๋‚จ์€ N์—์„œ ๋‚จ์€ K๊ฐœ๋กœ N์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ ์žฌ๊ท€ ํ•จ์ˆ˜ : (N, K) => int ์˜ ํ˜•ํƒœ ์‚ฌ์šฉํ•˜๋Š” ์ˆ˜ i๋ฅผ for๋ฌธ ๋Œ๋ฉด์„œ, j๋ฅผ 1์”ฉ ๊ฐ์†Œ์‹œ์ผœ์„œ ์žฌ๊ท€ ์ข…๋ฃŒ ์กฐ๊ฑด N์ด 0์ผ ๋•Œ๋Š” ๋‚จ์€ ์ˆ˜๊ฐ€ ๋ชจ๋‘ 0์ธ ๊ฒฝ์šฐ 1๊ฐ€์ง€๋งŒ ์กด์žฌ K๊ฐ€ 0์ด๊ณ  N๊ฐ€ 0์ด ์•„๋‹ ๋•Œ ๋‚จ์€ ๊ฒฝ์šฐ..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ์—ฌํ–‰๊ฒฝ๋กœ (DFS, ๋ฌธ์ œ ํ’€์ด, ์ฝ”๋“œ)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 9. 19. 23:48

์—ฌํ–‰๊ฒฝ๋กœ ๋ฌธ์ œ https://programmers.co.kr/learn/courses/30/lessons/43164 ๋ฌธ์ œ ์„ค๋ช… ์ฃผ์–ด์ง„ ํ•ญ๊ณต๊ถŒ์„ ๋ชจ๋‘ ์ด์šฉํ•˜์—ฌ ์—ฌํ–‰๊ฒฝ๋กœ๋ฅผ ์งœ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ•ญ์ƒ ICN ๊ณตํ•ญ์—์„œ ์ถœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ํ•ญ๊ณต๊ถŒ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด 2์ฐจ์› ๋ฐฐ์—ด tickets๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋ฐฉ๋ฌธํ•˜๋Š” ๊ณตํ•ญ ๊ฒฝ๋กœ๋ฅผ ๋ฐฐ์—ด์— ๋‹ด์•„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ ๋ชจ๋“  ๊ณตํ•ญ์€ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž 3๊ธ€์ž๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ฃผ์–ด์ง„ ๊ณตํ•ญ ์ˆ˜๋Š” 3๊ฐœ ์ด์ƒ 10,000๊ฐœ ์ดํ•˜์ž…๋‹ˆ๋‹ค. tickets์˜ ๊ฐ ํ–‰ [a, b]๋Š” a ๊ณตํ•ญ์—์„œ b ๊ณตํ•ญ์œผ๋กœ ๊ฐ€๋Š” ํ•ญ๊ณต๊ถŒ์ด ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์ฃผ์–ด์ง„ ํ•ญ๊ณต๊ถŒ์€ ๋ชจ๋‘ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์ผ ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ๊ฐ€ 2๊ฐœ ์ด์ƒ์ผ ๊ฒฝ์šฐ ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๊ฐ€ ์•ž์„œ๋Š” ๊ฒฝ๋กœ๋ฅผ return ํ•ฉ..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: K๋ฒˆ์งธ ์ˆ˜ (๋ฌธ์ œ ํ’€์ด, ์ฝ”๋“œ)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 8. 28. 13:08

K๋ฒˆ์งธ ์ˆ˜ ๋ฌธ์ œ https://programmers.co.kr/learn/courses/30/lessons/42748 ๋ฌธ์ œ ์„ค๋ช… ๋ฐฐ์—ด array์˜ i๋ฒˆ์งธ ์ˆซ์ž๋ถ€ํ„ฐ j๋ฒˆ์งธ ์ˆซ์ž๊นŒ์ง€ ์ž๋ฅด๊ณ  ์ •๋ ฌํ–ˆ์„ ๋•Œ, k๋ฒˆ์งธ์— ์žˆ๋Š” ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด array๊ฐ€ [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3์ด๋ผ๋ฉด array์˜ 2๋ฒˆ์งธ๋ถ€ํ„ฐ 5๋ฒˆ์งธ๊นŒ์ง€ ์ž๋ฅด๋ฉด [5, 2, 6, 3]์ž…๋‹ˆ๋‹ค. 1์—์„œ ๋‚˜์˜จ ๋ฐฐ์—ด์„ ์ •๋ ฌํ•˜๋ฉด [2, 3, 5, 6]์ž…๋‹ˆ๋‹ค. 2์—์„œ ๋‚˜์˜จ ๋ฐฐ์—ด์˜ 3๋ฒˆ์งธ ์ˆซ์ž๋Š” 5์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด array, [i, j, k]๋ฅผ ์›์†Œ๋กœ ๊ฐ€์ง„ 2์ฐจ์› ๋ฐฐ์—ด commands๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, commands์˜ ๋ชจ๋“  ์›์†Œ์— ๋Œ€ํ•ด ์•ž์„œ ์„ค๋ช…ํ•œ ์—ฐ์‚ฐ์„ ์ ์šฉํ–ˆ์„ ๋•Œ ๋‚˜์˜จ ๊ฒฐ๊ณผ๋ฅผ ๋ฐฐ์—ด์— ๋‹ด์•„..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: ๊ฐ€์žฅ ํฐ ์ˆ˜ (๋ฌธ์ œ ํ’€์ด, ์ฝ”๋“œ)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 8. 23. 22:51

๊ฐ€์žฅ ํฐ ์ˆ˜ ๋ฌธ์ œ ๋ฌธ์ œ ์„ค๋ช… 0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ •์ˆ˜๋ฅผ ์ด์–ด ๋ถ™์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์•Œ์•„๋‚ด ์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฃผ์–ด์ง„ ์ •์ˆ˜๊ฐ€ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ์ด์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜๋Š” 6210์ž…๋‹ˆ๋‹ค. 0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ˆœ์„œ๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ์–ด return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ numbers์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 100,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค. numbers์˜ ์›์†Œ๋Š” 0 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค. ์ •๋‹ต์ด ๋„ˆ๋ฌด ํด ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ์–ด return ํ•ฉ๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ numbers retur..