LCS 1

[Algorithm] LCS (Longest Common Subsequence, ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด)

โ“ LCS ๋ž€?์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ˆ˜์—ด ๋ชจ๋‘์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด์ด ๋˜๋Š” ์ˆ˜์—ด๋“ค ์ค‘์— ๊ฐ€์žฅ ๊ธด ๊ฒƒ  โ“ LCS ์˜ˆ๋ฅผ ๋“ค์–ด ABCDE์™€ ACBDE์˜ LCS๋ฅผ ์ฐพ๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด์ž ํ˜„์žฌ ์œ„์น˜๊ฐ€ (x, y)์ด๊ณ 1) ๋ฌธ์ž๊ฐ€ ๊ฐ™๋‹ค๋ฉด (x-1, y-1) +1์„ ์ €์žฅํ•œ๋‹ค.2) ๋ฌธ์ž๊ฐ€ ๊ฐ™์ง€ ์•Š๋‹ค๋ฉด (x-1, y)์™€ (x, y-1) ๊ฐ’ ์ค‘์—์„œ ํฐ ๊ฐ’์œผ๋กœ ์ €์žฅํ•œ๋‹ค. ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ๊ฐ’์ด LCS์˜ ๊ธธ์ด๊ฐ€ ๋œ๋‹ค.LCS๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐฐ์—ด์˜ ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜๋ถ€ํ„ฐ ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•œ๋‹ค. if) ํ˜„์žฌ ๊ฐ’๊ณผ ์œ„์˜ ๊ฐ’์ด ๊ฐ™๋‹ค๋ฉด ์œ„๋กœ ์ด๋™else if) ํ˜„์žฌ ๊ฐ’๊ณผ ์™ผ์ชฝ ๊ฐ’์ด ๊ฐ™๋‹ค๋ฉด ์™ผ์ชฝ์œผ๋กœ ์ด๋™else) ํ˜„์žฌ ๊ฐ’์„ LCS๊ฐ’์œผ๋กœ ์ €์žฅ ํ›„ ์™ผ์ชฝ ์œ„ ๋Œ€๊ฐ์„ ์œผ๋กœ ์ด๋™ โ“ LCS ์ฝ”๋“œpublic class Main { // LCS public static void m..