[1620๋ฒˆ] ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ Python๐Ÿ
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/์ง‘ํ•ฉ๊ณผ ๋งต
https://www.acmicpc.net/problem/1620 1620๋ฒˆ: ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ ์ฒซ์งธ ์ค„์—๋Š” ๋„๊ฐ์— ์ˆ˜๋ก๋˜์–ด ์žˆ๋Š” ํฌ์ผ“๋ชฌ์˜ ๊ฐœ์ˆ˜ N์ด๋ž‘ ๋‚ด๊ฐ€ ๋งž์ถฐ์•ผ ํ•˜๋Š” ๋ฌธ์ œ์˜ ๊ฐœ์ˆ˜ M์ด ์ฃผ์–ด์ ธ. N๊ณผ M์€ 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 100,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ธ๋ฐ, ์ž์—ฐ์ˆ˜๊ฐ€ ๋ญ”์ง€๋Š” ์•Œ์ง€? ๋ชจ๋ฅด๋ฉด www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ์ด ๋ฌธ์ œ๋Š” dict๋ฅผ ์‚ฌ์šฉํ•ด์„œ Key, value๋กœ ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผํ•˜๋Š” ๊ฒŒ ํฌ์ธํŠธ๋‹ค. ํ’€์ด ํฌ์ผ“๋ชฌ์˜ ์ˆ˜ n๊ณผ ์ž…๋ ฅ๋ฐ›์„ ๋ช…๋ น์–ด ๊ฐœ์ˆ˜ m์„ mapํ˜•ํƒœ๋กœ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. sys ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž…๋ ฅ์„ ๋ฐ›์•„์•ผํ•œ๋‹ค. (์•ˆ๊ทธ๋Ÿฌ๋ฉด ์‹œ๊ฐ„์ดˆ๊ณผ) sys๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ž…๋ ฅ๋ฐ›์„ ๊ฒฝ์šฐ ๊ฐœํ–‰(\n)๊นŒ์ง€ dict์— ์ž…๋ ฅ๋˜๋ฏ€๋กœ rstrip() ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผํ•œ๋‹ค. dict์— ํ‚ค์™€ ..
[24444๋ฒˆ] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—… - ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ 1 Pyton๐Ÿ
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/DFS ์™€ BFS
https://www.acmicpc.net/problem/24444 24444๋ฒˆ: ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—… - ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ 1 ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ์ˆ˜ N (5 ≤ N ≤ 100,000), ๊ฐ„์„ ์˜ ์ˆ˜ M (1 ≤ M ≤ 200,000), ์‹œ์ž‘ ์ •์  R (1 ≤ R ≤ N)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ ์ค„์— ๊ฐ„์„  ์ •๋ณด u v๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ ์ •์  u์™€ ์ •์  v์˜ ๊ฐ€์ค‘์น˜ 1์ธ ์–‘๋ฐฉ www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ๊ทธ๋ƒฅ bfs๋ฌธ์ œ์ด๋‹ค. ์ฝ”๋“œ import sys # sys.stdin=open("input.txt", "rt") from collections import deque N, M, R = map(int, sys.stdin.readline().split()) # graph graph = [[] for _ i..
[2606๋ฒˆ] ๋ฐ”์ด๋Ÿฌ์Šค Python๐Ÿ
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/DFS ์™€ BFS
https://www.acmicpc.net/problem/2606 2606๋ฒˆ: ๋ฐ”์ด๋Ÿฌ์Šค ์ฒซ์งธ ์ค„์—๋Š” ์ปดํ“จํ„ฐ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ปดํ“จํ„ฐ์˜ ์ˆ˜๋Š” 100 ์ดํ•˜์ด๊ณ  ๊ฐ ์ปดํ“จํ„ฐ์—๋Š” 1๋ฒˆ ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ปดํ“จํ„ฐ ์Œ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ๊ธฐ๋ณธ์ ์ธ DFS ๋ฌธ์ œ์ด๋‹ค. ๊ทธ๋ƒฅ cnt๋ณ€์ˆ˜๋งŒ ์ถ”๊ฐ€ํ•ด์„œ ์นด์šดํŒ…ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ๋˜๋Š”, ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์„œ appendํ•ด์ฃผ๊ณ  ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ํ’€์ด ํ”ํžˆ dfs์™€ bfs ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ, ํŠธ๋ฆฌ ๋ฐฉ์‹์œผ๋กœ ์ƒ๊ฐํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์ด๋ฒˆ ๋ฌธ์ œ์—์„œ๋Š” ๋”ฑํžˆ, ์ƒ์œ„ ๋…ธ๋“œ์™€ ํ•˜์œ„ ๋…ธ๋“œ๊ฐ€ ์ •ํ•ด์ง„ ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ž˜ํ”„ ๋ฐฉ์‹์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. 1๋ฒˆ๊ณผ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ์ปดํ“จํ„ฐ๋งŒ ์ฐพ์œผ..
[1260๋ฒˆ] DFS์™€ BFS Python๐Ÿ
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/DFS ์™€ BFS
https://www.acmicpc.net/problem/1260 1260๋ฒˆ: DFS์™€ BFS ์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000), ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M(1 ≤ M ≤ 10,000), ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•  ์ •์ ์˜ ๋ฒˆํ˜ธ V๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ„์„ ์ด ์—ฐ๊ฒฐํ•˜๋Š” ๋‘ ์ •์ ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์–ด๋–ค ๋‘ ์ •์  ์‚ฌ www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] dfs๋Š” ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰, ์ฆ‰ ๋ง ๊ทธ๋Œ€๋กœ ๊นŠ์ด๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ํƒ์ƒ‰ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๊ณ , bfs๋Š” ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰, ์ฆ‰ ๋„ˆ๋น„๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ํƒ์ƒ‰ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌธ์ œ ์ž์ฒด๋Š” bfs์˜๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š์•„ ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์ง€๋งŒ ์ฃผ์˜ํ•ด์•ผํ•  ์ ์€ dfs์™€ bfs๋ฅผ ๊ฐ์ž ์‹คํ–‰ํ•ด์•ผํ•˜๋ฏ€๋กœ visited ๋ฅผ ์ดˆ๊ธฐํ™” ํ•ด์ฃผ๊ฑฐ๋‚˜, ๋‘๊ฐœ ๋งŒ๋“ค๊ฑฐ๋‚˜, dfs๋Š” visite..
[12865๋ฒˆ] ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
www.acmicpc.net/problem/12865 12865๋ฒˆ: ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ ์ฒซ ์ค„์— ๋ฌผํ’ˆ์˜ ์ˆ˜ N(1 ≤ N ≤ 100)๊ณผ ์ค€์„œ๊ฐ€ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ K(1 ≤ K ≤ 100,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑฐ์ณ ๊ฐ ๋ฌผ๊ฑด์˜ ๋ฌด๊ฒŒ W(1 ≤ W ≤ 100,000)์™€ ํ•ด๋‹น ๋ฌผ๊ฑด์˜ ๊ฐ€์น˜ V(0 ≤ V ≤ 1,000) www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ์ด ๋ฌธ์ œ๋Š” ๋ฐฐ๋‚ญ ๋ฌธ์ œ(knapsack)๋กœ ๋งค์šฐ ์œ ๋ช…ํ•œ ๋ฌธ์ œ๋‹ค. ๋ฌธ์ œ ์„ค๋ช…์ฒ˜๋Ÿผ ๋ฐฐ๋‚ญ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’์ด ์ •ํ•ด์ง€๊ณ  ํ•ด๋‹น ํ•œ๋„ ๋ฌผ๊ฑด์„ ๋„ฃ์–ด ๊ฐ€์น˜์˜ ํ•ฉ์ด ์ตœ๋Œ€๊ฐ€ ๋˜๋„๋ก ๊ณ ๋ฅด๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ์กฐํ•ฉ ์ตœ์ ํ™” ๋ฌธ์ œ๋‹ค. ๋ฐฐ๋‚ญ๋ฌธ์ œ, ์ผ๋ช… ๋ƒ…์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ฌธ์ œ๋กœ ๋ถ„๋ฅ˜ ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ง์„ ์ชผ๊ฐค ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์™€ ..
[1912๋ฒˆ] ์—ฐ์†๋œ ํ•ฉ JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
www.acmicpc.net/problem/1912 1912๋ฒˆ: ์—ฐ์†ํ•ฉ ์ฒซ์งธ ์ค„์— ์ •์ˆ˜ n(1 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง€๊ณ  ๋‘˜์งธ ์ค„์—๋Š” n๊ฐœ์˜ ์ •์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ˆ˜๋Š” -1,000๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ๋ฌธ์ œ ์˜ˆ์ œ๋“ค์„ ๊ทธ๋Œ€๋กœ ์ ์šฉํ•ด๋ณด๋ฉด ์ด๋ ‡๋‹ค. ์ฒซ ๋ฒˆ์งธ ์˜ˆ์ œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. (๋ฐฐ์—ด๋กœ ํ‘œํ˜„ํ•จ) ์—ฌ๊ธฐ์„œ ์—ฐ์†๋œ ์ˆ˜๋ฅผ ์„ ํƒํ•˜์—ฌ ๋ฝ‘์•„๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋‘ ๋ฒˆ์งธ ์˜ˆ์ œ๋ฅผ ๋ณด์ž. ๋‘ ๋ฒˆ์งธ ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉด index5 ์— -4 ๋ผ๋Š” ์Œ์ˆ˜๊ฐ€ ๋“ค์–ด์žˆ์ง€๋งŒ ์ด๋ฅผ ํฌํ•จํ•˜์—ฌ index7๊นŒ์ง€ ์—ฐ์†์œผ๋กœ ํƒํ•˜์—ฌ ํ•ฉํ•œ ๊ฒƒ์ด ์ตœ๋Œ“๊ฐ’์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ํฌ์ธํŠธ๋Š” ์Œ์ˆ˜ ์–‘์ˆ˜ ์ƒ๊ด€์—†์ด '์—ฐ์†์ ์œผ๋กœ ์„ ํƒํ•œ ์ˆ˜์˜ ํ•ฉ'์ด ์ตœ๋Œ“๊ฐ’์ด ๋˜๋Š” ์ˆ˜๋ฅผ ์ฐพ..
[9251๋ฒˆ] LCS JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
https://www.acmicpc.net/problem/9251 9251๋ฒˆ: LCS LCS(Longest Common Subsequence, ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด)๋ฌธ์ œ๋Š” ๋‘ ์ˆ˜์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋‘์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด์ด ๋˜๋Š” ์ˆ˜์—ด ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ฒƒ์„ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ACAYKP์™€ CAPCAK์˜ LCS๋Š” ACAK๊ฐ€ ๋œ๋‹ค. www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ko.wikipedia.org/wiki/์ตœ์žฅ_๊ณตํ†ต_๋ถ€๋ถ„_์ˆ˜์—ด ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „ ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„์ˆ˜์—ด ๋ฌธ์ œ๋Š” LCS๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค. ์ด๋Š” ์ฃผ์–ด์ง„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ˆ˜์—ด ๋ชจ๋‘์˜ ๋ถ€๋ถ„์ˆ˜์—ด์ด ๋˜๋Š” ์ˆ˜์—ด๋“ค ์ค‘์— ๊ฐ€์žฅ ๊ธด ๊ฒƒ์„ ์ฐพ๋Š” ๋ฌธ์ œ๋‹ค.(์ข…์ข… ๋‹จ ๋‘ ๊ฐœ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋˜๊ธฐ๋„ ํ•œ๋‹ค.) ์ปดํ“จํ„ฐ ๊ณผํ•™์— ko.wikipe..
[2565๋ฒˆ] ์ „๊นƒ์ค„ JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
https://www.acmicpc.net/problem/2565 2565๋ฒˆ: ์ „๊นƒ์ค„ ์ฒซ์งธ ์ค„์—๋Š” ๋‘ ์ „๋ด‡๋Œ€ ์‚ฌ์ด์˜ ์ „๊นƒ์ค„์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ „๊นƒ์ค„์˜ ๊ฐœ์ˆ˜๋Š” 100 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ „๊นƒ์ค„์ด A์ „๋ด‡๋Œ€์™€ ์—ฐ๊ฒฐ๋˜๋Š” ์œ„์น˜์˜ ๋ฒˆํ˜ธ์™€ B์ „๋ด‡๋Œ€์™€ ์—ฐ๊ฒฐ๋˜๋Š” www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ๋จผ์ € ๋ฌธ์ œ์—์„œ๋Š” ์„œ๋กœ ๊ต์ฐจ๋˜์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ์ฒ ๊ฑฐ๋˜์–ด์•ผ ํ•  ์ „์„ ์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ๊ตฌํ•˜๊ธฐ์—๋Š” ๊ต์ฐจ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ด์•ผ ํ•˜๊ธฐ์— ๋ถˆํŽธํ•˜๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์—ญ์œผ๋กœ ์ƒ๊ฐํ•ด๋ณด์ž. ์ฒ ๊ฑฐ๋˜์–ด์•ผ ํ•  ์ „์„ ์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ผ ํ•˜๋ฉด, ๊ฑฐ๊พธ๋กœ ์ „์ฒด ์ „์„ ์˜ ๊ฐœ์ˆ˜์—์„œ ์ตœ๋Œ€ํ•œ ๊ฒน์น˜์ง€ ์•Š๊ฒŒ ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜์—ฌ ๋นผ๋ฉด, ์ฆ‰ (์ „์ฒด ์ „์„  ๊ฐœ์ˆ˜ - ์„ค์น˜ ๊ฐ€๋Šฅ ๊ฐœ์ˆ˜) = ์ฒ ๊ฑฐ ๊ฐœ์ˆ˜ ๊ฐ€๋œ๋‹ค. ํ•œ..
[11054๋ฒˆ] ๊ฐ€์žฅ ๊ธด ๋ฐ”์ดํ† ๋‹‰ ๋ถ€๋ถ„ ์ˆ˜์—ด JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
www.acmicpc.net/problem/11054 11054๋ฒˆ: ๊ฐ€์žฅ ๊ธด ๋ฐ”์ดํ† ๋‹‰ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ฒซ์งธ ์ค„์— ์ˆ˜์—ด A์˜ ํฌ๊ธฐ N์ด ์ฃผ์–ด์ง€๊ณ , ๋‘˜์งธ ์ค„์—๋Š” ์ˆ˜์—ด A๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๋Š” Ai๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ๋ฌธ์ œ ์˜ˆ์ œ๋ฅผ ํ•œ ๋ฒˆ ๋ณด๋„๋กํ•˜์ž. ์ผ๋‹จ ์ด์ „ ํฌ์ŠคํŒ…์—์„œ๋Š” LIS(์ตœ์žฅ ์ฆ๊ฐ€ ๋ถ€๋ถ„์ˆ˜์—ด)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋‹ค. ์ด๋ฒˆ์—๋Š” ๊ฐœ๋… ํ•˜๋‚˜๊ฐ€ ๋” ์ถ”๊ฐ€ ๋˜๋Š”๋ฐ, ์ฆ๊ฐ€๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ฐ์†Œ๋„ ์žˆ๋“ฏ ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„ ๊ฐ์†Œ ์ˆ˜์—ด์„ LDS(์ตœ์žฅ ๊ฐ์†Œ ๋ถ€๋ถ„์ˆ˜์—ด)์ด๋ผ ํ•œ๋‹ค. ๋จผ์ € ๋ฐ”์ดํ† ๋‹‰(Bitonic)์— ๋Œ€ํ•ด ์ •์˜๋ฅผ ์•Œ์•„๋ณด์ž. ๋ฐ”์ดํ† ๋‹‰์˜ ๊ฒฝ์šฐ ํŠน์ • ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ ๋ถ€๋ถ„์€ ์˜ค๋ฆ„์ฐจ์ˆœ, ์˜ค๋ฅธ์ชฝ ๋ถ€๋ถ„์€ ๋‚ด๋ฆผ์ฐจ์ˆœ์ธ ์ˆ˜์—ด ๋˜๋Š” ๊ทธ๋Ÿฌํ•œ ๋ถ€๋ถ„ ์ˆœํ™˜์ด๋™์„ ๋ง..
[11053๋ฒˆ] ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
https://www.acmicpc.net/problem/11053 11053๋ฒˆ: ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด ์ˆ˜์—ด A๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆ˜์—ด A = {10, 20, 10, 30, 20, 50} ์ธ ๊ฒฝ์šฐ์— ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์€ A = {10, 20, 10, 30, 20, 50} ์ด www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ๋ณดํ†ต ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ์ตœ์žฅ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด(LIS)๋ผ๊ณ  ํ•œ๋‹ค. ๋ง ๊ทธ๋ž˜๋„ ์ฃผ์–ด์ง„ ์ˆ˜์—ด์—์„œ ์˜ค๋ฆ„์ฐจ ์ˆœ์œผ๋กœ ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ์›์†Œ๋“ค์„ ์„ ํƒํ•˜์—ฌ ์ตœ๋Œ€ ๊ธธ์ด๋ฅผ ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. ์ž˜ ํ™œ์šฉํ•˜๋ฉด O(N log N)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ–๋Š”๋‹ค. ์˜ˆ์ œ๋ฅผ ๋ณด์ž๋ฉด ์œ„ ์ˆ˜์—ด์€ {10, 20, 10, 30, 20, 50} ์ด๋‹ค. ์ด..
[2156๋ฒˆ] ํฌ๋„์ฃผ ์‹œ์‹ JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
https://www.acmicpc.net/problem/2156 2156๋ฒˆ: ํฌ๋„์ฃผ ์‹œ์‹ ํšจ์ฃผ๋Š” ํฌ๋„์ฃผ ์‹œ์‹ํšŒ์— ๊ฐ”๋‹ค. ๊ทธ ๊ณณ์— ๊ฐ”๋”๋‹ˆ, ํ…Œ์ด๋ธ” ์œ„์— ๋‹ค์–‘ํ•œ ํฌ๋„์ฃผ๊ฐ€ ๋“ค์–ด์žˆ๋Š” ํฌ๋„์ฃผ ์ž”์ด ์ผ๋ ฌ๋กœ ๋†“์—ฌ ์žˆ์—ˆ๋‹ค. ํšจ์ฃผ๋Š” ํฌ๋„์ฃผ ์‹œ์‹์„ ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ์—ฌ๊ธฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘ ๊ฐ€์ง€ ๊ทœ www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] https://linerate.tistory.com/31 [2579๋ฒˆ] ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ JAVAโ˜• www.acmicpc.net/problem/2579 ๊ณผ ๊ฐ™์ด ๊ฐ๊ฐ์˜ ๊ณ„๋‹จ์—๋Š” ์ผ์ •ํ•œ ์ ์ˆ˜๊ฐ€ ์“ฐ์—ฌ ์žˆ๋Š”๋ฐ ๊ณ„๋‹จ์„ ๋ฐŸ์œผ๋ฉด ๊ทธ ๊ณ„๋‹จ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ " data-og-host="www.acmicpc.net" data-og-source-url="https://www.acmicpc.net/pr..
[10844๋ฒˆ] ์‰ฌ์šด ๊ณ„๋‹จ ์ˆ˜ JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
www.acmicpc.net/problem/10844 10844๋ฒˆ: ์‰ฌ์šด ๊ณ„๋‹จ ์ˆ˜ ์ฒซ์งธ ์ค„์— ์ •๋‹ต์„ 1,000,000,000์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ๋ฌธ์ œ ์„ค๋ช…์„ ๋ณด๋ฉด ์ผ๋‹จ ์ž๋ฆฟ์ˆ˜๊ฐ€ 100, ์ฆ‰ 100์งธ์ž๋ฆฌ ์ˆ˜๊นŒ์ง€ ์ฃผ์–ด์ง€๋‹ˆ ๊ธฐ๋ณธ ํ˜•์‹์€ longํƒ€์ž…์œผ๋กœ ํ•ด์ค€๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์„ค๋ช…ํ•˜๊ฒ ๋‹ค. ๋˜ํ•œ ๋ฌธ์ œ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํฌ์ธํŠธ๋Š” '์ธ์ ‘ํ•œ ๋ชจ๋“  ์ž๋ฆฟ์ˆ˜๊ฐ€ 1์”ฉ ์ฐจ์ด๊ฐ€ ๋‚œ๋‹ค'๋Š” ๊ฒƒ์ด ํฌ์ธํŠธ. ์—ฌ๊ธฐ์„œ ์œ ์˜ํ•ด์•ผ ํ•  ์ ์ด ์žˆ๋Š”๋ฐ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€๋ฅผ ์กฐ์‹ฌํ•ด์•ผ ํ•œ๋‹ค. 1) N๋ฒˆ์งธ ์ž๋ฆฟ์ˆ˜์˜ ์ž๋ฆฟ๊ฐ’์ด 0์ธ ๊ฒฝ์šฐ : ๋‹ค์Œ ์ž๋ฆฟ์ˆ˜์˜ ์ž๋ฆฟ๊ฐ’์€ 1๋ฐ–์— ์˜ฌ ์ˆ˜ ์—†๋‹ค. 2) N๋ฒˆ์งธ ์ž๋ฆฟ์ˆ˜์˜ ์ž๋ฆฟ๊ฐ’์ด 9์ธ ๊ฒฝ์šฐ : ๋‹ค์Œ ์ž๋ฆฟ์ˆ˜์˜ ์ž๋ฆฟ๊ฐ’์€ 8๋ฐ–์— ์˜ฌ ์ˆ˜ ์—†๋‹ค. ์ฆ‰, 10 ๋‹ค์Œ์— ๋ถ™์„ ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋Š”..
[1463๋ฒˆ] 1๋กœ ๋งŒ๋“ค๊ธฐ JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
www.acmicpc.net/problem/1463 1463๋ฒˆ: 1๋กœ ๋งŒ๋“ค๊ธฐ ์ฒซ์งธ ์ค„์— 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 106๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ์ด ๋ฌธ์ œ๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ์กฐ๊ฑด์ด ํ•„์š”ํ•˜๋‹ค. X๊ฐ€ 3์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด, 3์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. X๊ฐ€ 2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด, 2๋กœ ๋‚˜๋ˆˆ๋‹ค. 1์„ ๋บ€๋‹ค ์ด ์กฐ๊ฑด์„ ํ† ๋Œ€๋กœ 1๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ตœ์†Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜๋ฅผ ์ฐพ์•„๋‚ด์•ผ ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•  ์ ์€ ๋ฌด์กฐ๊ฑด "ํฐ์ˆ˜๋กœ ๋‚˜๋ˆ ์„œ๋Š” ์•ˆ๋œ๋‹ค" Integer[] dp; // ๋ฉ”๋ชจ์ด์ œ์ด์…˜ ํ•  ๋ฐฐ์—ด static int recur(int N) { // ํƒ์ƒ‰ํ•˜์ง€ ์•Š์•˜๋˜ N์ผ ๊ฒฝ์šฐ if (dp[N] == null) { // 6์œผ๋กœ ๋‚˜๋ˆ ์งˆ ๊ฒฝ์šฐ if (N % 6 == 0) { } // 3์œผ๋กœ๋งŒ..
[9461๋ฒˆ] ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
www.acmicpc.net/problem/9461 9461๋ฒˆ: ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์‚ผ๊ฐํ˜•์ด ๋‚˜์„  ๋ชจ์–‘์œผ๋กœ ๋†“์—ฌ์ ธ ์žˆ๋‹ค. ์ฒซ ์‚ผ๊ฐํ˜•์€ ์ •์‚ผ๊ฐํ˜•์œผ๋กœ ๋ณ€์˜ ๊ธธ์ด๋Š” 1์ด๋‹ค. ๊ทธ ๋‹ค์Œ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์œผ๋กœ ์ •์‚ผ๊ฐํ˜•์„ ๊ณ„์† ์ถ”๊ฐ€ํ•œ๋‹ค. ๋‚˜์„ ์—์„œ ๊ฐ€์žฅ ๊ธด ๋ณ€์˜ www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ด๋ฏ€๋กœ ๊ฐ ์ผ€์ด์Šค๋งˆ๋‹ค ๋™์ ๊ณ„ํš๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด Func()ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค๋ฉด, ์ด ํ•จ์ˆ˜๋Š” Func(N) = Func(N-1) + Func(N-2)๋ฅผ ๋งŒ์กฑํ•˜๋Š” ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•œ๋‹ค. ์ด ๋•Œ N=4์— ๋Œ€ํ•˜์—ฌ ๊ฐ’์„ ๊ตฌํ•˜๊ณ ์ž ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์น  ๊ฒƒ์ด๋‹ค. Func(4) = Func(3) + Func(2) Func(4) = (..
[9148๋ฒˆ] ์‹ ๋‚˜๋Š” ํ•จ์ˆ˜ ์‹คํ–‰ JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
https://www.acmicpc.net/problem/9184 9184๋ฒˆ: ์‹ ๋‚˜๋Š” ํ•จ์ˆ˜ ์‹คํ–‰ ์ž…๋ ฅ์€ ์„ธ ์ •์ˆ˜ a, b, c๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ž…๋ ฅ์˜ ๋งˆ์ง€๋ง‰์€ -1 -1 -1๋กœ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์„ธ ์ •์ˆ˜๊ฐ€ ๋ชจ๋‘ -1์ธ ๊ฒฝ์šฐ๋Š” ์ž…๋ ฅ์˜ ๋งˆ์ง€๋ง‰์„ ์ œ์™ธํ•˜๋ฉด ์—†๋‹ค. www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] static int w(int a, int b, int c) { if(a 20) { return w(20, 20, 20); } if(a < b && b < c) { return w(a, b, c - 1) + w(a, b - 1, c - 1) - w(a, b - 1, c); } return w(a - 1, b, c) + w(a - 1, b - 1, c) + w(a - 1, b, ..
[1149๋ฒˆ] RGB๊ฑฐ๋ฆฌ JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
www.acmicpc.net/problem/1149 1149๋ฒˆ: RGB๊ฑฐ๋ฆฌ ์ฒซ์งธ ์ค„์— ์ง‘์˜ ์ˆ˜ N(2 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ์ง‘์„ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘์œผ๋กœ ์น ํ•˜๋Š” ๋น„์šฉ์ด 1๋ฒˆ ์ง‘๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ง‘์„ ์น ํ•˜๋Š” ๋น„์šฉ์€ 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ํ’€์ด์กฐ๊ฑด์„ ์„ค๋ช…ํ•˜์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ผ๋‹จ ๊ฐ๊ฐ์˜ ์ง‘์„ ์ƒ‰์น ํ•ด์•ผํ•˜๊ณ , ์ƒ‰์˜ ์ข…๋ฅ˜๋Š” 3๊ฐ€์ง€๊ฐ€ ์ฃผ์–ด์ง„๋‹ค ( ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘ ) ๊ทธ๋ฆฌ๊ณ  ๊ฐ ์ง‘๋งˆ๋‹ค ํ•ด๋‹น ์ƒ‰์„ ์น ํ•˜๋Š” ๋น„์šฉ์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ „์ฒด ์ง‘์„ ์ƒ‰์น ํ•  ๋•Œ ์ตœ์†Œ ๋น„์šฉ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋•Œ ์ค‘์š”ํ•œ ์ ์ด๋ผ๋ฉด ์ธ์ ‘ํ•œ ์ง‘๋ผ๋ฆฌ๋Š” ์ƒ‰์ด ๊ฒน์น˜๋ฉด ์•ˆ๋œ๋‹ค๋Š” ์ ์ด๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด 3๋ฒˆ ์ง‘์— ์ดˆ๋ก์ƒ‰์„ ์น ํ•œ๋‹ค๋ฉด, 2๋ฒˆ์ง‘๊ณผ 4๋ฒˆ์ง‘์€ ์ดˆ๋ก์ƒ‰์„..
[2579๋ฒˆ] ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
www.acmicpc.net/problem/2579 2579๋ฒˆ: ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ ๊ฒŒ์ž„์€ ๊ณ„๋‹จ ์•„๋ž˜ ์‹œ์ž‘์ ๋ถ€ํ„ฐ ๊ณ„๋‹จ ๊ผญ๋Œ€๊ธฐ์— ์œ„์น˜ํ•œ ๋„์ฐฉ์ ๊นŒ์ง€ ๊ฐ€๋Š” ๊ฒŒ์ž„์ด๋‹ค. ๊ณผ ๊ฐ™์ด ๊ฐ๊ฐ์˜ ๊ณ„๋‹จ์—๋Š” ์ผ์ •ํ•œ ์ ์ˆ˜๊ฐ€ ์“ฐ์—ฌ ์žˆ๋Š”๋ฐ ๊ณ„๋‹จ์„ ๋ฐŸ์œผ๋ฉด ๊ทธ ๊ณ„๋‹จ์— ์“ฐ์—ฌ ์žˆ๋Š” ์  www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ์ด ๋ฌธ์ œ๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค. ๊ณ„๋‹จ์„ ์˜ค๋ฅผ ๋•Œ ํ•œ๊ณ„๋‹จ ๋˜๋Š” ๋‘ ๊ณ„๋‹จ์„ ์˜ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์—ฐ์†๋œ 3๊ฐœ์˜ ๊ณ„๋‹จ์„ ๋ฐŸ์„๋ฉด ์•ˆ๋œ๋‹ค. (ํ•œ๊ณ„๋‹จ์”ฉ ์˜ค๋ฅผ ๋–„ ์ตœ๋Œ€ ์—ฐ์† 2๋ฒˆ๋งŒ ํ•œ๊ณ„๋‹จ์”ฉ ์˜ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค) ๋งˆ์ง€๋ง‰ ๊ณ„๋‹จ์€ '๋ฐ˜๋“œ์‹œ' ๋ฐŸ์•„์•ผ ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. static int find(int N) { if(dp[N] == null) { dp[N] = Math.max(find(N - ..
[1932๋ฒˆ] ์ •์ˆ˜ ์‚ผ๊ฐํ˜• JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
https://www.acmicpc.net/problem/1932 1932๋ฒˆ: ์ •์ˆ˜ ์‚ผ๊ฐํ˜• ์ฒซ์งธ ์ค„์— ์‚ผ๊ฐํ˜•์˜ ํฌ๊ธฐ n(1 ≤ n ≤ 500)์ด ์ฃผ์–ด์ง€๊ณ , ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ n+1๋ฒˆ์งธ ์ค„๊นŒ์ง€ ์ •์ˆ˜ ์‚ผ๊ฐํ˜•์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ๋จผ์ €, ์‚ผ๊ฐํ˜•์„ ์ž…๋ ฅ๋ฐ›์„ 2์ฐจ์› ๋ฐฐ์—ด arr์™€ ๊ฒฝ๋กœ ํ•ฉ์„ ๊ฐ€์งˆ DP๋ฐฐ์—ด ์ด๋ ‡๊ฒŒ ๋‘๊ฐœ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‚ผ๊ฐํ˜•์˜ ๋ฐ‘๋ณ€, ์ฆ‰ ๋งˆ์ง€๋ง‰ ๊ฐ’์€ DP๋ฐฐ์—ด์—๋„ ๋˜‘๊ฐ™์ด ์ €์žฅํ•ด์ค€๋‹ค. ๋งจ ์œ„์—์„œ๋ถ€ํ„ฐ ํƒ์ƒ‰์„ ํ•ด๋ณด๋ฉด, ์•„๋ž˜์˜ ์–‘์ชฝ ๊ฐ’ ์ค‘ ์ตœ๋Œ€๊ฐ’์„ ์ฐพ์•„์•ผํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ์œ„ ๊ทธ๋ฆผ์—์„œ ๋ณด๋“ฏ์ด ์œ„์—์„œ ๋‘ ๋ฒˆ์งธ ์ค„์˜ ๊ฐ’ ๋˜ํ•œ ๋น„์–ด์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์žฌ๊ท€ํ˜ธ์ถœ์„ ํ†ตํ•˜์—ฌ ๋‹ค์‹œ ๊ทธ ์•„๋ž˜์˜ ์–‘์ชฝ ๊ฐ’์ค‘ ์ตœ๋Œ€๊ฐ’์„ ์ฐพ๋Š”๋‹ค. ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐ˜๋ณตํ•˜๋‹ค๋ณด๋ฉด ์–‘์ชฝ์— ๊ฐ’์ด ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋œ๋‹ค..
[1904๋ฒˆ] 01ํƒ€์ผ JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
https://www.acmicpc.net/problem/1904 1904๋ฒˆ: 01ํƒ€์ผ ์ง€์›์ด์—๊ฒŒ 2์ง„ ์ˆ˜์—ด์„ ๊ฐ€๋ฅด์ณ ์ฃผ๊ธฐ ์œ„ํ•ด, ์ง€์›์ด ์•„๋ฒ„์ง€๋Š” ๊ทธ์—๊ฒŒ ํƒ€์ผ๋“ค์„ ์„ ๋ฌผํ•ด์ฃผ์…จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฐ๊ฐ์˜ ํƒ€์ผ๋“ค์€ 0 ๋˜๋Š” 1์ด ์“ฐ์—ฌ ์žˆ๋Š” ๋‚ฑ์žฅ์˜ ํƒ€์ผ๋“ค์ด๋‹ค. ์–ด๋А ๋‚  ์ง“๊ถ‚์€ ๋™์ฃผ๊ฐ€ ์ง€์›์ด www.acmicpc.net ์•Œ๊ณ ๋ฆฌ์ฆ˜ [์ ‘๊ทผ ๋ฐฉ๋ฒ•] ์ด ๋ฌธ์ œ๋Š” ๋งŒ์•ฝ N=1 ๋ถ€ํ„ฐ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ญ‰ ๋‚˜์—ดํ•ด๋ณด์•˜๋‹ค๋ฉด ๋งค์šฐ ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋‹ค. N=6๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‚˜์—ดํ•ด๋ณด์•˜๋‹ค. ๊ฐœ์ˆ˜๊ฐ€ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์˜ ์ˆ˜์—ด์ฒ˜๋Ÿผ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, N=3์ผ ๋•Œ๋Š” N=1, N=2์ผ ๋•Œ์˜ ๊ฐœ์ˆ˜์˜ ํ•ฉ์ด๋‹ค. ์ด๋Š” ํ”ผ๋ณด๋‚˜์น˜ ์ ํ™”์‹๊ณผ ์ผ์น˜ํ•จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ํ’€์ด 1 2 3 4 5 6 7 8 9 10 11 12 static int[] dp = ..
[1003๋ฒˆ] ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜ JAVAโ˜•
ยท
๐Ÿ”ฐ ๋ฐฑ์ค€/๋™์ ๊ณ„ํš๋ฒ• 1
https://www.acmicpc.net/problem/1003 1003๋ฒˆ: ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜ ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค 0์ด ์ถœ๋ ฅ๋˜๋Š” ํšŸ์ˆ˜์™€ 1์ด ์ถœ๋ ฅ๋˜๋Š” ํšŸ์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ํ’€์ด๋ฒ• ์ผ๋‹จ ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—์„œ 0๊ณผ 1์ด ํ˜ธ์ถœ๋˜๋Š” ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฝ”๋“œ๋กœ๋Š” N์ด ์ตœ๋Œ€ 40๊นŒ์ง€ ์ฃผ์–ด์ง€๊ณ , ๊ฐ N์— 0๊ณผ 1์ด ํ˜ธ์ถœ๋œ ํšŸ์ˆ˜๋ฅผ ๋‹ด์•„์•ผ ํ•˜๋ฏ€๋กœ 2์ฐจ์› ๋ฐฐ์—ด์ด ํ•„์š”ํ•˜๋‹ค. (๋˜ํ•œ null ์ฒดํฌ๋ฅผํ•˜๊ธฐ ์œ„ํ•ด์„œ int[][] ๊ฐ€ ์•„๋‹Œ Integer[][]๋กœ ์‚ฌ์šฉํ•œ๋‹ค.) DP๋ผ๋Š” ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๊ณ , ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜๋Š” ๊ฐ N์— ๋Œ€ํ•œ 0๊ณผ 1์˜ ๊ฐ’์„ DP์— ์ €์žฅํ•˜๋ฉด์„œ ์žฌ๊ท€ํ˜ธ์ถœ์„ ์ง„ํ–‰ํ•œ๋‹ค. N์— ๋Œ€ํ•œ 0๊ณผ 1์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์„ ๋”ฐ๋ฅธ๋‹ค. 1. N์— ..