๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm

๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm

[๋ฐฑ์ค€ 1107๋ฒˆ-ํŒŒ์ด์ฌ]๋ฆฌ๋ชจ์ปจ

๋ฐฑ์ค€ (BOJ) 1107 https://www.acmicpc.net/problem/1107 ์‚ฌ์šฉ์–ธ์–ด : PYTHON 1.๋ฌธ์ œ 2.ํ’€์ด 2-1. ์‹œ๋„ํ–ˆ๋‹ค๊ฐ€ ์‹คํŒจํ•œ ํ’€์ด N : 5457 M : 3 ๊ณ ์žฅ๋‚œ ๋ฒ„ํŠผ : [5,7] ์ด๋ฉด ์ž…๋ ฅ์ด ๊ฐ€๋Šฅํ•œ ๋ฒ„ํŠผ๋“ค์€ [0,1,2,3,4,5,6,8,9]์ด๋‹ค. 5457์˜ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž 5๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋ฅผ 4 ํ˜น์€ 6์„ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ด ์ตœ์†Œ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. ์ด ๋•Œ 4๋ฅผ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ๋Š” ๋’ค์— ์ˆซ์ž๋ฅผ ์ตœ๋Œ€ํ•œ ํฐ ์ˆ˜๋กœ ์ž…๋ ฅํ•ด์•ผ ํ•˜๊ณ , 6์„ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ๋Š” ์ตœ๋Œ€ํ•œ ์ž‘์€์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ’€๊ณ ์ž ํ–ˆ๋‹ค. 2-2. ์˜ฌ๋ฐ”๋ฅธ ํ’€์ด ๋ธŒ๋ฃจํŠธํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ 0 ~ 999899+1 ๊นŒ์ง€ ๋ฆฌ๋ชจ์ปจ์œผ๋กœ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ˆซ์ž๋“ค์„ ๋น„๊ตํ•˜๋ฉฐ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š”๋‹ค. N์˜ ..

๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm

[๋ฐฑ์ค€ 11053๋ฒˆ-ํŒŒ์ด์ฌ]๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด

๋ฐฑ์ค€ (BOJ) 11053๋ฒˆ https://www.acmicpc.net/problem/11053 ์‚ฌ์šฉ์–ธ์–ด : PYTHON 1.๋ฌธ์ œ 2.ํ’€์ด A={10,20,10,30,20,50}์„ ์˜ˆ๋กœ ๋“ค์–ด ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค. dp[i] = A[0], A[1], ... A[i] ์ผ๋•Œ '์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด'์—์„œ A[i]์˜ ์œ„์น˜(์ธ๋ฑ์Šค)๊ฐ’ ์ด๋‹ค. i=0 ์ผ ๋•Œ dp[0]๋Š” A[0] ์ฆ‰ 10์˜ '์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด'={10} ์—์„œ ์œ„์น˜ ์ฆ‰ 1 ์ด๋‹ค. i=1 ์ผ ๋•Œ dp[1]๋Š” A[1] ์ฆ‰ 20์˜ '์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด'={10,20} ์—์„œ ์œ„์น˜ ์ฆ‰ 2 ์ด๋‹ค. i=2 ์ผ ๋•Œ dp[2]๋Š” A[2] ์ฆ‰ 10์˜ '์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด'={10,20} ์—์„œ ์œ„์น˜ ์ฆ‰ 1 ์ด๋‹ค. i=3 ์ผ..

๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm

[๋ฐฑ์ค€ 11052๋ฒˆ-ํŒŒ์ด์ฌ]์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ

๋ฐฑ์ค€ (BOJ) 11052๋ฒˆ https://www.acmicpc.net/problem/11052 ์‚ฌ์šฉ์–ธ์–ด : PYTHON 1.๋ฌธ์ œ 2.ํ’€์ด ์ตœ์ ํ•ด(์ตœ๋Œ“๊ฐ’)์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋ฏ€๋กœ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ’€ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ตœ์ ํ•ด์˜ ์ผ๋ถ€๋ถ„์ด ๊ทธ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ตœ์ ํ•ด๊ฐ€ DP ์ˆœํ™˜์‹์„ ์„ธ์šฐ๋Š” ์ถœ๋ฐœ์ ์ž„์„ ์ƒ๊ฐํ–ˆ๋‹ค. N์ด 4์ด๊ณ  P1=1, P2=5, P3=6, P4=7์ธ ๊ฒฝ์šฐ ์ตœ๋Œ“๊ฐ’ = max(P4๋ฅผ ์„ ํƒํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, P4๋ฅผ ์„ ํƒํ•œ ๊ฒฝ์šฐ)์ด๋‹ค. ์ด๋•Œ P4๋ฅผ ์„ ํƒํ•˜๋ฉด N์˜ ๊ฐฏ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ฑ„์šฐ๊ธฐ ๋•Œ๋ฌธ์— P4ํ•˜๋‚˜๋งŒ ์‚ด ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ max{(P1,P2,P3)์˜ ์กฐํ•ฉ์„ ์ด์šฉํ•ด์„œ 4๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’, 7}์ด ๋œ๋‹ค. ์œ„ ์ตœ์ ํ•ด์˜ ์ผ๋ถ€๋ถ„ (P1,P2,P3)์˜ ์กฐํ•ฉ์„ ์ด์šฉํ•ด์„œ 4๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’ = (P3๋ฅผ ..

๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm

[๋ฐฑ์ค€ 1463๋ฒˆ-ํŒŒ์ด์ฌ]1๋กœ ๋งŒ๋“ค๊ธฐ

๋ฐฑ์ค€ (BOJ) 1463๋ฒˆ https://www.acmicpc.net/problem/1463 ์‚ฌ์šฉ์–ธ์–ด : PYTHON 1.๋ฌธ์ œ 2.ํ’€์ด ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ (Bottom up) ๋ฐฉ์‹์œผ๋กœ ํ’€์–ด์•ผ ํ–ˆ๋‹ค. 2-1.์ˆœํ™˜์‹์„ ์„ธ์šฐ๊ธฐ ์ˆœํ™˜์‹์„ ์„ธ์šฐ๋Š” ์‚ฌ๊ณ ์˜ ์ถœ๋ฐœ์ ์€ '์ตœ์ ํ•ด์˜ ์ผ๋ถ€๋ถ„์ด ๊ทธ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ตœ์ ํ•ด์ธ๊ฐ€?' ๋ผ๊ณ  ๋ฐฐ์› ๋‹ค. ์ •์ˆ˜ N์„ 1๋กœ ๋งŒ๋“œ๋Š” ์ตœ์†Œ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ D(N)์ด๋ผ๊ณ  ํ•˜์ž. ์ตœ์ ํ•ด๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. D(10)์€ 10์„ 2๋กœ ๋‚˜๋ˆˆ D(5)์™€, 10์—์„œ 1์„ ๋บ€ D(9)์ค‘ ๋” ์ž‘์€ ๊ฐ’ + 2๋กœ ๋‚˜๋ˆ„๊ฑฐ๋‚˜ 1์„ ๋บ€ ์—ฐ์‚ฐํšŸ์ˆ˜ 1๊ณผ ๊ฐ™๋‹ค. D(12)๋Š” 12๋ฅผ 3์œผ๋กœ ๋‚˜๋ˆˆ D(4)์™€, 12๋ฅผ 2๋กœ ๋‚˜๋ˆˆ D(5), 12์—์„œ 1์„ ๋บ€ D(11) ์ค‘ ๋” ์ž‘์€๊ฐ’ + ์—ฐ์‚ฐ์˜ ํšŸ์ˆ˜ 1๊ณผ ๊ฐ™..

๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm

[๋ฐฑ์ค€ 6588๋ฒˆ-ํŒŒ์ด์ฌ]๊ณจ๋“œ๋ฐ”ํ์˜ ์ถ”์ธก

๋ฐฑ์ค€ (BOJ) 6588๋ฒˆ https://www.acmicpc.net/problem/6588 ์‚ฌ์šฉ์–ธ์–ด : PYTHON 1.๋ฌธ์ œ ๋ฌธ์ œ 1742๋…„, ๋…์ผ์˜ ์•„๋งˆ์ถ”์–ด ์ˆ˜ํ•™๊ฐ€ ํฌ๋ฆฌ์Šคํ‹ฐ์•ˆ ๊ณจ๋“œ๋ฐ”ํ๋Š” ๋ ˆ์˜จํ•˜๋ฅดํŠธ ์˜ค์ผ๋Ÿฌ์—๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ถ”์ธก์„ ์ œ์•ˆํ•˜๋Š” ํŽธ์ง€๋ฅผ ๋ณด๋ƒˆ๋‹ค. 4๋ณด๋‹ค ํฐ ๋ชจ๋“  ์ง์ˆ˜๋Š” ๋‘ ํ™€์ˆ˜ ์†Œ์ˆ˜์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 8์€ 3 + 5๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๊ณ , 3๊ณผ 5๋Š” ๋ชจ๋‘ ํ™€์ˆ˜์ธ ์†Œ์ˆ˜์ด๋‹ค. ๋˜, 20 = 3 + 17 = 7 + 13, 42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23 ์ด๋‹ค. ์ด ์ถ”์ธก์€ ์•„์ง๋„ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๋ฌธ์ œ์ด๋‹ค. ๋ฐฑ๋งŒ ์ดํ•˜์˜ ๋ชจ๋“  ์ง์ˆ˜์— ๋Œ€ํ•ด์„œ, ์ด ์ถ”์ธก์„ ๊ฒ€์ฆํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ž…๋ ฅ์€ ํ•˜๋‚˜ ๋˜๋Š” ๊ทธ ์ด์ƒ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค...

๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm

[๋ฐฑ์ค€ 17298๋ฒˆ-ํŒŒ์ด์ฌ]์˜คํฐ์ˆ˜

๋ฐฑ์ค€ (BOJ) 17298๋ฒˆ https://www.acmicpc.net/problem/17298 ์‚ฌ์šฉ์–ธ์–ด : PYTHON 1.๋ฌธ์ œ 2.ํ’€์ด ์‹œ๊ฐ„์ œํ•œ์ด 1์ดˆ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ํ’€๊ฒŒ๋˜๋ฉด ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜์˜ฌ๊ฒƒ ๊ฐ™์•„์„œ ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ’€์–ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ํฐ ์ˆ˜์— ์ƒ๊ฐ์ด ์‚ฌ๋กœ ์žกํ˜€์„œ ์Šคํƒ์— ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์œ ์ง€ํ•˜๋ฉด ์•ˆ๋ ๊นŒ? ๋ผ๋Š” ์ƒ๊ฐ์„ ๊ณ„์†ํ•˜์˜€๋‹ค. 1์‹œ๊ฐ„ ์ •๋„ ๊ณ ๋ฏผํ•ด๋ณด๋‹ค ๋„์ €ํžˆ ์•ˆ๋ ๊ฒƒ ๊ฐ™์•„์„œ ๋‹ค๋ฅธ๋ถ„๋“ค์˜ ํ’€์ด๋ฅผ ๊ฒ€์ƒ‰ํ•˜์˜€๋‹ค. ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ์•Œ๊ฒŒ๋œ ์•„์ด๋””์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์Šคํƒ์— ์ˆ˜์—ด์˜ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์Šคํƒ์˜ ์ œ์ผ ์œ— ๊ฐ’๋ณด๋‹ค ํฐ ๊ฐ’์ด ๋‚˜์˜ฌ๋•Œ ๊นŒ์ง€ ์ˆ˜์—ด์˜ ๊ฐ’๋“ค์„ ์ฐจ๋ก€๋Œ€๋กœ ์Œ“๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ์Šคํƒ์˜ ์ œ์ผ ์œ„์˜ ๊ฐ’๋ณด๋‹ค ํฐ ์ˆ˜์—ด์˜ ๊ฐ’์ด ๋‚˜์˜ค๋ฉด ๊ทธ ์ˆ˜๋Š” ์Šคํƒ ์ œ์ผ ์œ— ๊ฐ’์˜ ์˜คํฐ์ˆ˜๊ฐ€ ๋œ๋‹ค...

๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm

[๋ฐฑ์ค€ 1406๋ฒˆ-ํŒŒ์ด์ฌ]์—๋””ํ„ฐ

๋ฐฑ์ค€ (BOJ) 1406๋ฒˆ https://www.acmicpc.net/problem/1406 ์‚ฌ์šฉ์–ธ์–ด : PYTHON 1.๋ฌธ์ œ 2.ํ’€์ด ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ณ ๋ คํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ์ฒ˜์Œ์—๋Š” ํ˜„์žฌ ์ปค์„œ์˜ ์œ„์น˜๋ฅผ ์ €์žฅํ•˜๋Š” cursor๋ณ€์ˆ˜์™€, ๋ฆฌ์ŠคํŠธ์˜ insert, del ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ํ•˜๋‹ˆ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋‘ ๋ฉ”์†Œ๋“œ์˜ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(n)์ด๊ณ , ์ด๊ฒƒ์„ m๋ฒˆ ๋ฐ˜๋ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์ด์—ˆ๋‹ค. ์ด ์‹œ๊ฐ„์ดˆ๊ณผ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„  ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(1)์ธ pop()๊ณผ append()์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  cusor๋ณ€์ˆ˜๋ฅผ ๋‘ ๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ปค์„œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฆฌ์ŠคํŠธ st์™€ tmp_st๋กœ ๋‚˜๋ˆ„์—ˆ๋‹ค. ์ปค์„œ๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์˜ฎ๊ธฐ๋ฉด st์—์„œ pop()ํ•˜์—ฌ tmp_st์— append(), ์ปค์„œ๋ฅผ ์˜ค๋ฅธ์ชฝ..

๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm

[๋ฐฑ์ค€ 18870๋ฒˆ-ํŒŒ์ด์ฌ]์ขŒํ‘œ์••์ถ•

๋ฐฑ์ค€ (BOJ) 18870๋ฒˆ https://www.acmicpc.net/problem/18870 ์‚ฌ์šฉ์–ธ์–ด : PYTHON 1.๋ฌธ์ œ ์ˆ˜์ง์„  ์œ„์— N๊ฐœ์˜ ์ขŒํ‘œ X1, X2, ..., XN์ด ์žˆ๋‹ค. ์ด ์ขŒํ‘œ์— ์ขŒํ‘œ ์••์ถ•์„ ์ ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค. Xi๋ฅผ ์ขŒํ‘œ ์••์ถ•ํ•œ ๊ฒฐ๊ณผ X'i์˜ ๊ฐ’์€ Xi > Xj๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ขŒํ‘œ์˜ ๊ฐœ์ˆ˜์™€ ๊ฐ™์•„์•ผ ํ•œ๋‹ค. X1, X2, ..., XN์— ์ขŒํ‘œ ์••์ถ•์„ ์ ์šฉํ•œ ๊ฒฐ๊ณผ X'1, X'2, ..., X'N๋ฅผ ์ถœ๋ ฅํ•ด๋ณด์ž. ์ฆ‰ [2,10,15,1,1] ๋ผ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์œผ๋ฉด ๊ฐ’์˜ ๋Œ€์†Œ๊ด€๊ณ„๋งŒ ๊ณ ๋ คํ•œ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๋ผ๋Š” ๊ฒƒ์ด๋‹ค. (์œ„ ์˜ˆ์‹œ์˜ ์ •๋‹ต : [1,2,3,0,0]) 2.ํ’€์ด ๊ฐ ์›์†Œ์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ  ์ •๋ ฌ ํ•œ ๋‹ค์Œ, ๊ฐ ๊ฐ’์— 0๋ถ€ํ„ฐ ์ˆœ์„œ๋ฅผ ๋ถ€์—ฌํ•˜๋ฉด ๋œ๋‹ค. ์ฒ˜์Œ..

mc.thd
'๐Ÿฅ‡์ฝ”๋”ฉํ…Œ์ŠคํŠธ:Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (6 Page)