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

์ด๋ถ„ํƒ์ƒ‰8

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv3] : ์ง•๊ฒ€๋‹ค๋ฆฌ ๊ฑด๋„ˆ๊ธฐ ๋ฌธ์ œ ๋งํฌ https://school.programmers.co.kr/learn/courses/30/lessons/64062 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋‚ด๊ตฌ๋„๊ฐ€ ์ •ํ•ด์ง„ ์ง•๊ฒ€๋‹ค๋ฆฌ๊ฐ€ ์žˆ์„ ๋•Œ, ๊ฑด๋„ˆ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋‹ˆ๋‹ˆ์ฆˆ ์นœ๊ตฌ๋“ค์˜ ์ˆ˜์˜ ์ตœ๋Œ€๋ฅผ ๋ฆฌํ„ดํ•˜์ž. ํ’€์ด ์ง์ ‘ ํ•œ ๋ช…, ํ•œ ๋ช… ๊ฑด๋„ˆ๊ฐ€๋ฉด์„œ ๋Œ์˜ ๋‚ด๊ตฌ๋„๋ฅผ ๊ฐ์†Œ์‹œํ‚ค๋ฉด ๋ฌผ๋ก  ์ •๋‹ต์€ ์ถœ๋ ฅ์ด ๋  ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ์—์„œ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ์ฒ˜์Œ ์ƒ๊ฐํ–ˆ๋˜ ๋ฐฉ๋ฒ•์€ ๋‚ด๊ตฌ๋„๊ฐ€ 0์ธ ๋Œ์ด ์—ฐ์†ํ•ด์„œ K๊ฐœ ์ด์ƒ ์žˆ์„ ๋•Œ, ๊ทธ๋•Œ๋Š” ๋” ์ด์ƒ ์‚ฌ๋žŒ์ด ๊ฑด๋„ˆ๊ฐ€์ง€ ๋ชปํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค๋ฆฌ๋ฅผ K๊ฐœ์”ฉ .. 2022. 7. 20.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv4] : ๊ฐ€์‚ฌ ๊ฒ€์ƒ‰ ๋ฌธ์ œ ๋งํฌ https://school.programmers.co.kr/learn/courses/30/lessons/60060 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ‚ค์›Œ๋“œ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ ํ‚ค์›Œ๋“œ ๋ณ„๋กœ ๋งค์น˜๋œ ๋‹จ์–ด๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ๋ฆฌํ„ดํ•˜์ž. ์˜ค๋‹ต ๋‚˜๋Š” ๋‹จ์–ด์™€ ํ‚ค์›Œ๋“œ๋ฅผ ์ง์ ‘ ๋น„๊ต๋ฅผ ํ•˜๋Š” ๋ฐฉ์‹์„ ์„ ํƒํ–ˆ๋‹ค. ๋จผ์ œ ๋‹จ์–ด๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์•ŒํŒŒ๋ฒณ, ๋‹จ์–ด์˜ ๊ธธ์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฅ˜ํ–ˆ๋‹ค. ๋‹จ์–ด์˜ ๊ธธ์ด์™€ ํ‚ค์›Œ๋“œ์˜ ๊ธธ์ด๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๋น„๊ตํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋•Œ ํ‚ค์›Œ๋“œ์— ๋ฌผ์Œํ‘œ๊ฐ€ ๋’ค์— ๋ถ™์–ด์žˆ๋‹ค๋ฉด, ๋ฌธ์ž๋ฅผ ์•ž์—์„œ๋ถ€ํ„ฐ ๋น„๊ตํ•˜๊ณ  ๋ฌผ์Œํ‘œ๊ฐ€ ๋‚˜์˜ค๋Š” ์ˆœ๊ฐ„๋ถ€ํ„ฐ๋Š” ๋น„.. 2022. 7. 12.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv3] : ๊ธˆ๊ณผ ์€ ์šด๋ฐ˜ํ•˜๊ธฐ ๋ฌธ์ œ ๋งํฌ https://school.programmers.co.kr/learn/courses/30/lessons/86053 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์ƒˆ๋กœ์šด ๋„์‹œ๋ฅผ ์ง“๊ธฐ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋‚˜๋ผ์—์„œ ๊ธˆ๊ณผ ์€์„ ์šด์†กํ•œ๋‹ค. ์ด๋•Œ ํ•„์š”ํ•œ ๊ธˆ๊ณผ ์€์„ ๋ชจ๋‘ ์šด์†กํ•˜๊ธฐ์œ„ํ•ด ํ•„์š”ํ•œ ์ตœ์†Œ ์‹œ๊ฐ„์„ ๊ตฌํ•ด๋ณด์ž. ํ’€์ด ๊ฐ ๋„์‹œ๋งˆ๋‹ค ์ž์›์˜ ์–‘์ด ํ•œ์ •๋˜์–ด์žˆ๊ณ , ํ•œ ๋ฒˆ์— ์šด๋ฐ˜ํ•  ์ˆ˜ ์žˆ๋Š” ์–‘๊ณผ, ํ•œ ๋ฒˆ ์šด๋ฐ˜์— ํ•„์š”ํ•œ ์‹œ๊ฐ„์ด ๋ชจ๋‘ ๋‹ค๋ฅด๋‹ค. ์ตœ์ ์˜ ์‹œ๊ฐ„์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‹ค ๋”ฐ์ ธ๋ณด๊ธฐ์—” ๋ง์ด ์•ˆ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์ œํ•œ์‹œ๊ฐ„์„ ๊ฑธ์–ด๋‘๊ณ , ์ด ์‹œ๊ฐ„์•ˆ์— ์ •ํ•ด์ง„ ๊ธˆ๊ณผ ์€์„.. 2022. 7. 11.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv4] : ์ง•๊ฒ€๋‹ค๋ฆฌ ๋ฌธ์ œ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/43236 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ง•๊ฒ€๋‹ค๋ฆฌ ์ถœ๋ฐœ์ง€์ ๋ถ€ํ„ฐ distance๋งŒํผ ๋–จ์–ด์ง„ ๊ณณ์— ๋„์ฐฉ์ง€์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ์‚ฌ์ด์—๋Š” ๋ฐ”์œ„๋“ค์ด ๋†“์—ฌ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”์œ„ ์ค‘ ๋ช‡ ๊ฐœ๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋„์ฐฉ์ง€์ ์ด 25๋งŒํผ ๋–จ์–ด์ ธ ์žˆ๊ณ , ๋ฐ”์œ„๊ฐ€ programmers.co.kr ๋ฐ”์œ„๋ฅผ n๊ฐœ ์ œ๊ฑฐํ–ˆ์„ ๋•Œ, ๊ฐ ์ง€์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ์˜ ์ตœ์†Ÿ๊ฐ’์ด ์ตœ๋Œ€๊ฐ€ ๋˜๋„๋ก ๋ฐ”์œ„๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฌธ์ œ. ํ’€์ด ํ’€์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐ ์ง€์ ๋“ค ์‚ฌ์ด์— ๋ฒŒ์–ด์ ธ์•ผํ•  ์ตœ์†Œ ๊ฐ„๊ฒฉ์„ "์ด๋ถ„ํƒ์ƒ‰"์„ ํ†ตํ•ด์„œ ํƒ์ƒ‰ํ•œ๋‹ค. ๋ฒŒ์–ด์ €์•ผํ•  ๊ฐ„๊ฒฉ์˜ ๋ฒ”์œ„๋Š” 0 ~ distance ์ด๋‚ด ์ผ ๊ฒƒ์ด๋‹ค. L = 0, R = distance๋กœ ์žก๊ณ  mid ๊ฐ’์„ ์ง€์ ๋“ค ์‚ฌ์ด ๋ฒŒ์–ด์ ธ์•ผํ•  ์ตœ์†Œ .. 2022. 6. 21.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv3] : ์ž…๊ตญ์‹ฌ์‚ฌ ๋ฌธ์ œ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/43238 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ž…๊ตญ์‹ฌ์‚ฌ n๋ช…์ด ์ž…๊ตญ์‹ฌ์‚ฌ๋ฅผ ์œ„ํ•ด ์ค„์„ ์„œ์„œ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ž…๊ตญ์‹ฌ์‚ฌ๋Œ€์— ์žˆ๋Š” ์‹ฌ์‚ฌ๊ด€๋งˆ๋‹ค ์‹ฌ์‚ฌํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ๋ชจ๋“  ์‹ฌ์‚ฌ๋Œ€๋Š” ๋น„์–ด์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ์‹ฌ์‚ฌ๋Œ€์—์„œ๋Š” ๋™์‹œ์— ํ•œ programmers.co.kr ๋ชจ๋“  ์ž…๊ตญ์ž๋ฅผ ์‹ฌ์‚ฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฑธ๋ฆฌ๋Š” ์ตœ์†Œ์‹œ๊ฐ„์„ ๋ฆฌํ„ดํ•˜๋Š” ๋ฌธ์ œ. ํ’€์ด ๊ฐ ์‹ฌ์‚ฌ๊ด€๋งˆ๋‹ค ์‹ฌ์‚ฌํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ๋‹ค๋ฅด๋ฉฐ ์ด๋Š” ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ํ’€์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฃผ์–ด์ง„ ์‹œ๊ฐ„์ด T๋ผ๊ณ  ํ–ˆ์„ ๋•Œ, ์ž„์˜์˜ i ์‹ฌ์‚ฌ๊ด€์ด T์‹œ๊ฐ„๋™์•ˆ ์‹ฌ์‚ฌํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์˜ ์ˆ˜๋Š” T / times[ i ] ๋ฅผ ๋‚ด๋ฆผํ•œ ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด T ์‹œ๊ฐ„๋™์•ˆ ๋ชจ๋“  ์‹ฌ์‚ฌ๊ด€์ด ์ž…๊ตญ ์‹ฌ์‚ฌํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ.. 2022. 6. 21.
[BOJ] 9879 : Cross Country Skiing ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/9879 9879๋ฒˆ: Cross Country Skiing The cross-country skiing course at the winter Moolympics is described by an M x N grid of elevations (1 N >> M; int L = INF; int R = -1; for (int i = 0; i Map[i][j]; L = min(Map[i][j], L); R = max(Map[i][j], R); } } for (int i = 0; i num; if (num == 1) { waypoints.push_back({ i,j }); is_waypoint[i][j] = true; } } } R = R - L;.. 2022. 5. 3.
[BOJ] 1800 : ์ธํ„ฐ๋„ท ์„ค์น˜ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1800 1800๋ฒˆ: ์ธํ„ฐ๋„ท ์„ค์น˜ ์ฒซ ๋ฒˆ์งธ ์ค„์— N(1 ≤ N ≤ 1,000), ์ผ€์ด๋ธ”์„ ์˜ ๊ฐœ์ˆ˜ P(1 ≤ P ≤ 10,000), ๊ณต์งœ๋กœ ์ œ๊ณตํ•˜๋Š” ์ผ€์ด๋ธ”์„ ์˜ ๊ฐœ์ˆ˜ K(0 ≤ K < N)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ P๊ฐœ์˜ ์ค„์—๋Š” ์ผ€์ด๋ธ”์ด ์—ฐ๊ฒฐํ•˜๋Š” ๋‘ ์ปดํ“จํ„ฐ ๋ฒˆํ˜ธ์™€ ๊ทธ ๊ฐ€๊ฒฉ์ด ์ฐจ www.acmicpc.net 1๋ฒˆ๊ณผ N๋ฒˆ ์ปดํ“จํ„ฐ๋ฅผ ์—ฐ๊ฒฐ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋น„์šฉ์ค‘ ์ตœ๋Œ€๊ฐ’์˜ ์ตœ์†Œ๊ฐ€ ๋˜๋„๋กํ•˜๋Š” ๋ฌธ์ œ. ํ’€์ด ์ผ๋‹จ 1๋ฒˆ๊ณผ N๋ฒˆ ์ปดํ“จํ„ฐ๋ฅผ ์ตœ๋Œ€ ํšจ์œจ๋กœ ์—ฐ๊ฒฐ์‹œ์ผœ์•ผ ํ•˜๋ฏ€๋กœ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ธฐ์กด ๋‹ค์ต์ŠคํŠธ๋ผ๋Š” ๋น„์šฉ์ด ๊ณ„์†ํ•ด์„œ ๋ˆ„์ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ˆ„์  ๋น„์šฉ์ด ๊ฐ€์ž‘ ์ ๊ฒŒ ๋“ค๋„๋ก N์— ๋„๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ๋ณดํ†ต์ธ๋ฐ, ์—ฌ๊ธฐ์„œ๋Š” ๋น„์šฉ๋“ค ์ค‘ ๊ฐ€.. 2022. 4. 20.
[BOJ] 24887 : ์ตœ๋Œ€ํ•œ์˜ ํœด์‹ ๋ฌธ์ œ ๋งํฌ 24887๋ฒˆ: ์ตœ๋Œ€ํ•œ์˜ ํœด์‹ (acmicpc.net) 24887๋ฒˆ: ์ตœ๋Œ€ํ•œ์˜ ํœด์‹ Amel์€ SKH ํšŒ์‚ฌ ๋‚ด์—์„œ ์ผ์„ ์ž˜ํ•˜๊ธฐ๋กœ ์†Œ๋ฌธ๋‚œ ์œ ๋Šฅํ•œ ์‚ฌ์›์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์ฒด๋ ฅ์ด ๋งค์šฐ ์•ˆ ์ข‹์€ Amel์€ ํ•˜๋ฃจ ๋™์•ˆ ์ผํ•˜๊ณ  ๋‚˜๋ฉด ๋น ๋ฅด๊ฒŒ ์ง€์ณ๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋ฒˆ ์ผํ•˜๊ณ  ๋‚œ ํ›„ ๊ฐ€๋Šฅํ•œ ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋™์•ˆ www.acmicpc.net ์ˆญ๊ณ ํ•œ ๋Œ€ํšŒ DIvision2 E๋ฒˆ ๋ฌธ์ œ. ๋Œ€ํšŒ ๋‹น์ผ์—” ์•ž์—์„œ ๋ง‰ํžˆ๋Š” ๋ฐ”๋žŒ์— ์ฝ์–ด๋ณด์ง€๋„ ๋ชปํ–ˆ๋‹ค ใ…Žใ…Ž; ํ’€์ด ์—ฐ์†์œผ๋กœ ์‰ฐ ๋‚ ์˜ ์ตœ์†Œ๊ฐ’์˜ ์ตœ๋Œ€๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋‹ค. ์—ฐ์†์œผ๋กœ ์‰ฌ๋Š”๋‚ ์˜ ์ตœ์†Œ๊ฐ’์„ ์ด๋ถ„ํƒ์ƒ‰์œผ๋กœ ์ฐพ์•„์ค€๋‹ค. ์ดˆ๊ธฐ ๋ฒ”์œ„๋Š” Left = 0, Right = N ์œผ๋กœ ์„ค์ •ํ•ด์คฌ๋‹ค. DP๋ฐฐ์—ด์„ ์„ ์–ธํ•ด์„œ DP[i] ์—ฐ์†์œผ๋กœ ์‰ฌ๋Š”๋‚ ์˜ ์ตœ์†Œ๊ฐ€ mid ์ผ๋•Œ, i๋ฒˆ์งธ ๋‚ ๊นŒ์ง€ ์ฑ„์šธ์ˆ˜ ์žˆ๋Š” ํ• ๋‹น๋Ÿ‰์˜ ์ตœ๋Œ€๊ฐ’.. 2022. 3. 30.