[๋ฐฑ์ค€] 11286 ์ ˆ๋Œ“๊ฐ’ ํž™ - ์šฐ์„ ์ˆœ์œ„ ํ, ํž™
ยท
๐Ÿ’ป Algorithms/๋ฐฑ์ค€
[ ๋ฌธ์ œ๋งํฌ ]https://www.acmicpc.net/problem/11286 ๐Ÿšฉ ์กฐ๊ฑด์—ฐ์‚ฐ์˜ ๊ฐœ์ˆ˜ N(1≤N≤100,000)์ด ์ฃผ์–ด์ง€๋ฉด, ๋‹ค์Œ N๊ฐœ์˜ ์ค„์— ์—ฐ์‚ฐ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ x๊ฐ€ ์ฃผ์–ด์ง.x๊ฐ€ 0์ด ์•„๋‹ˆ๋ผ๋ฉด ๋ฐฐ์—ด์— x๋ผ๋Š” ๊ฐ’์„ ๋„ฃ๋Š” ์—ฐ์‚ฐ์ž„x๊ฐ€ 0์ด๋ผ๋ฉด ๋ฐฐ์—ด์—์„œ ์ ˆ๋Œ“๊ฐ’์ด ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ  ๊ทธ ๊ฐ’์„ ๋ฐฐ์—ด์—์„œ ์ œ๊ฑฐํ•˜๋Š” ์—ฐ์‚ฐ์ž„์ž…๋ ฅ๋˜๋Š” x๋Š” -2^31๋ณด๋‹ค ํฌ๊ณ , 2^31๋ณด๋‹ค ์ž‘์Œ์ž…๋ ฅ์—์„œ 0์ด ์ฃผ์–ด์ง„ ํšŸ์ˆ˜๋งŒํผ ๋‹ต์„ ์ถœ๋ ฅํ•ด๋ผ. ๋ฐฐ์—ด์ด ๋น„์–ด์žˆ๋Š”๋ฐ 0์ด ์ž…๋ ฅ๋˜๋ฉด 0์„ ์ถœ๋ ฅํ•ด๋ผ.  ๐Ÿšฉ ์ ‘๊ทผ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ ˆ๋Œ“๊ฐ’์„ ์šฐ์„ ์ˆœ์œ„๋กœ ๋‘๋ฉด ๋˜์ง€ ์•Š์„๊นŒ?  ๐Ÿšฉ ์‹œํ–‰์ฐฉ์˜ค- ์šฐ์„ ์ˆœ์œ„ ํ ๊ตฌํ˜„์šฐ์„ ์ˆœ์œ„ ํ๋Š” ํž™์ด๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.ํž™์€ ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ ๋ชจ์–‘์„ ๊ฐ€์ง€๋ฉฐ, ๋ถ€๋ชจ ๋…ธ๋“œ์˜ ๊ฐ’์ด ..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’ - ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ?
ยท
๐Ÿ’ป Algorithms/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
[ ๋ฌธ์ œ๋งํฌ ]https://school.programmers.co.kr/learn/courses/30/lessons/12939 ๐Ÿšฉ ์กฐ๊ฑด๋ฌธ์ž์—ด s์— ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ์ˆซ์ž๋“ค์ด ์ €์žฅ๋˜์–ด ์žˆ์Œs์— ๋‚˜์˜ค๋Š” ์ˆซ์ž ์ค‘ ์ตœ์†Ÿ๊ฐ’๊ณผ ์ตœ๋Œ“๊ฐ’์„ ์ฐพ์•„ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ด๋ผs์—๋Š” ๋‘˜ ์ด์ƒ์˜ ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์žˆ์Œ   ๐Ÿšฉ ์ ‘๊ทผ๋ฌธ์ž์—ด s -> split()์„ ์ด์šฉํ•˜์—ฌ ๊ฐ ์ˆซ์ž๋ฅผ list์— ์ €์žฅํ•˜๊ณ , ์ด๋ฅผ int๋กœ ๋ฐ”๊พธ์ž์ตœ๋Œ€ ์ตœ์†Œ -> ๋‚ด์žฅํ•จ์ˆ˜ max() min() ์ด์šฉํ•ด์„œ ๊ตฌํ•˜์ž  ๐Ÿšฉ ์‹œํ–‰์ฐฉ์˜ค์ฒ˜์Œ์— slist = list(s.split()) ๋กœ ์ž‘์„ฑํ–ˆ๋Š”๋ฐ, ์ด๋Ÿฌ๋ฉด ๊ฐ ์ˆซ์ž๊ฐ€ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜์–ด์„œ ์Œ์ˆ˜๋ฅผ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๊ทธ๋ž˜์„œ int๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•จ!  ๐Ÿ’ป ์ฝ”๋“œ (Python3)def so..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‹ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ - ํ•ด์‹œ
ยท
๐Ÿ’ป Algorithms/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
[ ๋ฌธ์ œ๋งํฌ ]https://school.programmers.co.kr/learn/courses/30/lessons/178871 ๐Ÿšฉ ์กฐ๊ฑดํ•ด์„ค์ง„๋“ค์€ ์„ ์ˆ˜๋“ค์ด ์ž๊ธฐ ๋ฐ”๋กœ ์•ž์˜ ์„ ์ˆ˜๋ฅผ ์ถ”์›”ํ•  ๋•Œ ์ถ”์›”ํ•œ ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ ๋ถ€๋ฆ„์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด 1๋“ฑ๋ถ€ํ„ฐ ํ˜„์žฌ ๋“ฑ์ˆ˜๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ๋‹ด๊ธด ๋ฌธ์ž์—ด ๋ฐฐ์—ด players์™€ ํ•ด์„ค์ง„์ด ๋ถ€๋ฅธ ์ด๋ฆ„์„ ๋‹ด์€ ๋ฌธ์ž์—ด ๋ฐฐ์—ด callings๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง€๋ฉด, ๊ฒฝ๊ธฐ๊ฐ€ ๋๋‚ฌ์„ ๋•Œ ๋“ฑ์ˆ˜ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์—ด์— ๋‹ด์•„ returnํ•ด๋ผ  ๐Ÿšฉ ์ ‘๊ทผ๊ทธ๋ƒฅ ๋‹จ์ˆœํžˆ swap ํ˜•ํƒœ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด..?  ๐Ÿšฉ ์‹œํ–‰์ฐฉ์˜คdef solution(players, callings): #answer = [] for name in callings: found = players.index(name) ..
[๋ฐฑ์ค€] 1676 ํŒฉํ† ๋ฆฌ์–ผ 0์˜ ๊ฐœ์ˆ˜ - ์ˆ˜ํ•™, ์ •์ˆ˜๋ก 
ยท
๐Ÿ’ป Algorithms/๋ฐฑ์ค€
[ ๋ฌธ์ œ๋งํฌ ]https://www.acmicpc.net/problem/1676 ๐Ÿšฉ ์กฐ๊ฑด0 ≤ N ≤ 500 ์ธ N์ด ์ฃผ์–ด์งN!์—์„œ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฒ˜์Œ 0์ด ์•„๋‹Œ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•ด๋ผ  ๐Ÿšฉ ์ ‘๊ทผN!๋ฅผ ๊ตฌํ•ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์—์„œ ๋‚˜์˜ค๋Š” ์ˆ˜์˜ 0์ด ์•„๋‹Œ ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ๋งŒ ๋ณด๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.๋งŒ์•ฝ ๋งจ ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ๊ฐ€ 0์ด ๋œ๋‹ค๋ฉด, ๊ทธ ์ž๋ฆฌ๋Š” ํ•ญ์ƒ 0์ผ ๊ฒƒ์ด๊ณ , ๊ทธ๋Ÿผ answer++ ํ›„ ๊ณ ๋ คํ•  ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ๋ฅผ ์•ž์œผ๋กœ ํ•œ ์นธ ์˜ฎ๊ธฐ๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.๊ทผ๋ฐ ์ด๋ ‡๊ฒŒ ๊ตฌํ˜„ํ–ˆ๋”๋‹ˆ ๋งž๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค๊ฐ€ ๋‚˜์™€์„œ ๋ฐ˜๋ก€๋ฅผ ์ฐพ์•„๋ดค๋”๋‹ˆ, ์•„๋ž˜ ์ผ€์ด์Šค์—์„œ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ž๋‹ค.์ž…๋ ฅ > 25์ถœ๋ ฅ > 5์ •๋‹ต > 6  ๐Ÿšฉ ์‹œํ–‰์ฐฉ์˜ค๊ฒฐ๋ก  ๋จผ์ € ๋งํ•˜์ž๋ฉด, ๋งจ ๋’ท์ž๋ฆฌ๋งŒ ๊ด€๋ฆฌํ•˜๋ฉด ์•ˆ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•œ ์‚ฌ๋žŒ๋“ค์ด ๊ฝค ๋งŽ๋‚˜๋ณด๋‹ค..ใ…Žhttps:..
[๋ฐฑ์ค€] 1929 ์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ - ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด
ยท
๐Ÿ’ป Algorithms/๋ฐฑ์ค€
[ ๋ฌธ์ œ๋งํฌ ]https://www.acmicpc.net/problem/1929  ๐Ÿšฉ ์กฐ๊ฑด์ž…๋ ฅ์œผ๋กœ M๊ณผ N์ด ๋“ค์–ด์˜ดM์ด์ƒ N์ดํ•˜์˜ ์†Œ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ถœ๋ ฅํ•ด๋ผ  ๐Ÿšฉ ์ ‘๊ทผ, ์‹œํ–‰์ฐฉ์˜ค์ผ๋‹จ 2๊ฐ€ ์•„๋‹Œ ์ง์ˆ˜์ด๋ฉด ๋ฐฐ์ œํ•˜๊ณ .. ํ™€์ˆ˜๋Š” 3๋ถ€ํ„ฐ ๋‚˜๋ˆ ๊ฐ€๋ฉด์„œ ์†Œ์ˆ˜์ธ์ง€ ์ง์ ‘ ํ™•์ธ?์ด๋Ÿฐ ๋‹จ์ˆœํ•œ ์ƒ๊ฐ์„ ํ–ˆ๋Š”๋ฐ ๋‹น์—ฐํžˆ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚  ๊ฒƒ ๊ฐ™์•˜๋‹ค..๊ทธ๋ž˜์„œ ๊ฒฐ๊ตญ ํ’€์ด๋ฅผ ์ฐพ์•„๋ดค๋Š”๋ฐ, ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด๋Š” ์–ด๋–ค ์ •์ˆ˜ ์ดํ•˜์˜ ์†Œ์ˆ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ, ์†Œ์ˆ˜๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•ฉ์„ฑ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์ ‘๊ทผ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. 1. ์ •์ˆ˜ n์ด ์ฃผ์–ด์ง€๋ฉด, 2๋ถ€ํ„ฐ n๊นŒ์ง€์˜ ๋ชจ๋“  ์ˆ˜๊ฐ€ ์†Œ์ˆ˜๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.# ์ •๋‹ต ์ถœ๋ ฅ ์‹œ ์ข€ ๋” ํŽธํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด, 0๊ณผ 1์— ๋Œ€ํ•ด์„œ False๋กœ ์„ค์ •ํ•จis_pri..
[๋ฐฑ์ค€] 12865 ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ - ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
ยท
๐Ÿ’ป Algorithms/๋ฐฑ์ค€
[ ๋ฌธ์ œ๋งํฌ ]https://www.acmicpc.net/problem/12865 ๐Ÿšฉ ์กฐ๊ฑด์ฒซ ์ค„์— ๋ฌผํ’ˆ์˜ ์ˆ˜ N(1 ≤ N ≤ 100)๊ณผ ์ค€์„œ๊ฐ€ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ K(1 ≤ K ≤ 100,000)๊ฐ€ ์ฃผ์–ด์ง ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑฐ์ณ ๊ฐ ๋ฌผ๊ฑด์˜ ๋ฌด๊ฒŒ W(1 ≤ W ≤ 100,000)์™€ ํ•ด๋‹น ๋ฌผ๊ฑด์˜ ๊ฐ€์น˜ V(0 ≤ V ≤ 1,000)๊ฐ€ ์ฃผ์–ด์ง ๋ฐฐ๋‚ญ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๋ฌผ๊ฑด๋“ค์˜ ๊ฐ€์น˜ํ•ฉ์˜ ์ตœ๋Œ“๊ฐ’์„ ์ถœ๋ ฅํ•ด๋ผ  ๐Ÿšฉ ์ ‘๊ทผ0/1 Knapsack ๋ฌธ์ œ.. ์–ด๋–ป๊ฒŒ ํ‘ธ๋Š” ๊ฑฐ์˜€๋”๋ผ...  ๐Ÿšฉ ์‹œํ–‰์ฐฉ์˜ค์ฒ˜์Œ์—” Branch and Bound๋กœ ์‹œ๋„ํ•ด๋ณด๋ ค ํ•˜๋‹ค๊ฐ€ ๊ทธ๋ž˜ํ”„๋ฅผ ์–ด๋–ป๊ฒŒ ์ •์˜ํ•ด์•ผ ํ• ์ง€ ๊ฐ์ด ์•ˆ์™€์„œ.. ํฌ๊ธฐ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹œ๊ฐ„์— ๋ฐฐ์šด ๊ธฐ์–ต์œผ๋กœ๋Š” DP๋กœ ํ‘ธ๋Š” ๊ฒŒ ์ตœ์•…์˜ ๊ฒฝ์šฐ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ Brute Force์™€ ๊ฐ™์•„์ง„๋‹ค๊ณ  ํ–ˆ๋Š”..
[๋ฐฑ์ค€] 10844 ์‰ฌ์šด ๊ณ„๋‹จ ์ˆ˜ - ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
ยท
๐Ÿ’ป Algorithms/๋ฐฑ์ค€
[ ๋ฌธ์ œ๋งํฌ ]https://www.acmicpc.net/problem/10844 ๐Ÿšฉ ์กฐ๊ฑด๊ณ„๋‹จ ์ˆ˜๋Š” 45656์ฒ˜๋Ÿผ ์ธ์ ‘ํ•œ ๋ชจ๋“  ์ž๋ฆฌ์˜ ์ฐจ์ด๊ฐ€ 1์ธ ์ˆ˜๋ฅผ ๋œปํ•จN์ด ์ฃผ์–ด์งˆ ๋•Œ, ๊ธธ์ด๊ฐ€ N์ธ ๊ณ„๋‹จ ์ˆ˜๊ฐ€ ์ด ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ๊ตฌํ•ด๋ผ๊ทธ๊ฑธ 1,000,000,000์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•ด๋ผ  ๐Ÿšฉ ์ ‘๊ทผํ˜„์žฌ ์ž๋ฆฌ์˜ ์ˆ˜๊ฐ€ 1์ด๋ฉด, ๋’ค์— ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋Š” 0๊ณผ 2์ด๋‹ค. 0๊ณผ 9๋ผ๋Š” ์˜ˆ์™ธ๊ฐ€ ์žˆ์ง€๋งŒ 0~9๊นŒ์ง€์˜ ์ˆ˜๋Š” ๋ชจ๋‘ ๋น„์Šทํ•œ ์–‘์ƒ์„ ๋ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ ํ™”์‹์„ ์„ธ์šธ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ? -> DP  ๐Ÿšฉ ์‹œํ–‰์ฐฉ์˜ค ์ ํ™”์‹์„ ์ฐพ์•„๋‚ด๋Š” ๋ฐ ๊ต‰์žฅํžˆ ๋งŽ์€ ์‹œ๊ฐ„์„ ๋“ค์˜€๋‹ค.. D[i]๋ฅผ i ๋’ค์— ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ˆ˜ ๊ฐœ์ˆ˜๋กœ ๋†”๋‘ฌ๋ณด๊ธฐ๋„ ํ•˜๊ณ , F[i]๋Š” ๊ธธ์ด๊ฐ€ i์ธ 0์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ๋„ ํฌํ•จํ•œ ๊ณ„๋‹จ ์ˆ˜/D[i]๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ณ„๋‹จ ์ˆ˜ ๋กœ ๋†”๋‘ฌ์„œ..
[๋ฐฑ์ค€] 11727 2xn ํƒ€์ผ๋ง2 - ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
ยท
๐Ÿ’ป Algorithms/๋ฐฑ์ค€
[ ๋ฌธ์ œ๋งํฌ ]https://www.acmicpc.net/problem/11727 ๐Ÿšฉ ์กฐ๊ฑด2×n ์ง์‚ฌ๊ฐํ˜•์„ 1×2, 2×1๊ณผ 2×2 ํƒ€์ผ๋กœ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ 10,007๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•ด๋ผ1 ≤ n ≤ 1,000   ๐Ÿšฉ ์ ‘๊ทผ์ด์ „์— ํ’€์—ˆ๋˜ 2xn ํƒ€์ผ๋ง๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ DP๋กœ ํ’€ ์ˆ˜ ์žˆ์Œ  ๐Ÿšฉ ์‹œํ–‰์ฐฉ์˜ค.  ๐Ÿ’ป ์ฝ”๋“œ (C++)#include using namespace std;int D[1001]; //1-indexedint main(){ int n; cin>>n; D[0]=1; D[1]=1; for(int i=2;i
[๋ฐฑ์ค€] 1932 ์ •์ˆ˜ ์‚ผ๊ฐํ˜• - ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
ยท
๐Ÿ’ป Algorithms/๋ฐฑ์ค€
[ ๋ฌธ์ œ๋งํฌ ]https://www.acmicpc.net/problem/1932 ๐Ÿšฉ ์กฐ๊ฑด์ฒซ์งธ ์ค„์— ์‚ผ๊ฐํ˜•์˜ ํฌ๊ธฐ n(1 ≤ n ≤ 500)์ด ์ฃผ์–ด์ง€๊ณ , ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ n+1๋ฒˆ์งธ ์ค„๊นŒ์ง€ ์ •์ˆ˜ ์‚ผ๊ฐํ˜•์ด ์ฃผ์–ด์ง๋งจ ์œ„์ธต์—์„œ ์‹œ์ž‘ํ•ด์„œ ์•„๋ž˜์— ์žˆ๋Š” ์ˆ˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜์—ฌ ์•„๋ž˜์ธต์œผ๋กœ ๋‚ด๋ ค์˜ฌ ๋•Œ, ์ด์ œ๊นŒ์ง€ ์„ ํƒ๋œ ์ˆ˜์˜ ํ•ฉ์ด ์ตœ๋Œ€๊ฐ€ ๋˜๋Š” ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•ด๋ผ์•„๋ž˜์ธต์— ์žˆ๋Š” ์ˆ˜๋ฅผ ์„ ํƒํ•  ๋• ํ˜„์žฌ ์ธต์—์„œ ์„ ํƒ๋œ ์ˆ˜์˜ ์™ผ์ชฝ ๋Œ€๊ฐ์„  ๋˜๋Š” ์˜ค๋ฅธ์ชฝ ๋Œ€๊ฐ์„ ์— ์žˆ๋Š” ๊ฒƒ๋งŒ ๊ฐ€๋Šฅํ•จ  ๐Ÿšฉ ์ ‘๊ทผ๊ฐ ์ธต๋งˆ๋‹ค ์ œ์ผ ํฐ ์ˆ˜๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์—†์Œ๊ฐ๊ฐ์˜ ์ˆ˜์—๊ฒŒ ์ฃผ์–ด์ง„ ์„ ํƒ์ง€๋Š” ์™ผ์ชฝ ๋Œ€๊ฐ์„ ์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜, ์˜ค๋ฅธ์ชฝ ๋Œ€๊ฐ์„ ์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜๋กœ ๊ฐ™์Œ์•„๋ž˜์ธต๋ถ€ํ„ฐ ์‚ดํŽด๋ณด๋ฉฐ ๋‘ ์„ ํƒ์ง€ ์ค‘ ํฐ ์ˆ˜๊ฐ€ ์žˆ๋Š” ์„ ํƒ์ง€๋ฅผ ๊ณ ๋ฅด๊ณ , ์ž๊ธฐ์ž์‹ ์„ (์ž๊ธฐ์ž์‹ +๊ทธ ์ˆ˜)๋กœ ์—…๋ฐ์ดํŠธํ•˜์ž : DP  ๐Ÿšฉ ์‹œ..
[๋ฐฑ์ค€] 1003 ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜ - ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
ยท
๐Ÿ’ป Algorithms/๋ฐฑ์ค€
[ ๋ฌธ์ œ๋งํฌ ]https://www.acmicpc.net/problem/1003  ๐Ÿšฉ ์กฐ๊ฑดํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜ fibonacci(N)์ด ์ฃผ์–ด์งfibonacci(N)์„ ํ˜ธ์ถœํ–ˆ์„ ๋•Œ 0๊ณผ 1์ด ๊ฐ๊ฐ ๋ช‡ ๋ฒˆ ์ถœ๋ ฅ๋˜๋Š”์ง€ ๊ตฌํ•ด๋ผ ( N์€ 40๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜ ๋˜๋Š” 0 )  ๐Ÿšฉ ์ ‘๊ทผ์‹œ๊ฐ„์ œํ•œ์ด 0.25์ดˆ์ธ ๋ฌธ์ œ -> DP๋กœ ํ’€์–ด์•ผ ํ•  ๋“ฏ N์ด ์ฃผ์–ด์ง€๋ฉด 0๊ณผ 1์— ๋Œ€ํ•ด ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ DP๋กœ ํ’€๋“ฏ์ด ์‹์„ ์„ธ์šธ ์ˆ˜ ์žˆ๋‹ค. + 0๊ณผ 1์˜ ์ถœ๋ ฅํšŸ์ˆ˜๋ฅผ ๋‚˜์—ดํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.0์˜ ์ถœ๋ ฅํšŸ์ˆ˜ : 1, 0, 1, 1, 2, 3, ... => [1]๋ถ€ํ„ฐ 0์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด1์˜ ์ถœ๋ ฅํšŸ์ˆ˜ : 0, 1, 1, 1, 2, 5, ... => [0]๋ถ€ํ„ฐ 0์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด๋”ฐ๋ผ์„œ ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜..