[JavaScript/section 10] 03 - ์ต๋ ๋ถ๋ถ ์ฆ๊ฐ ์์ด
ยท
Algorithm/์ธํ๋ฐ(inflearn)
๐ ์ต๋ ๋ถ๋ถ ์ฆ๊ฐ์์ด(LIS) N๊ฐ์ ์์ฐ์๋ก ์ด๋ฃจ์ด์ง ์์ด์ด ์ฃผ์ด์ก์ ๋, ๊ทธ์ค์์ ๊ฐ์ฅ ๊ธธ๊ฒ ์ฆ๊ฐํ๋(์์ ์์์ ํฐ ์๋ก) ์์๋ค์ ์งํฉ์ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์๋ฅผ ๋ค์ด, ์์๊ฐ 2, 7, 5, 8, 6, 4, 7, 12, 3์ด๋ฉด ๊ฐ์ฅ ๊ธธ๊ฒ ์ฆ๊ฐํ๋๋ก ์์๋ค์ ์ฐจ๋ก๋๋ก ๋ฝ์๋ด๋ฉด 2, 5, 6, 7, 12๋ฅผ ๋ฝ์๋ด์ด ๊ธธ์ด๊ฐ 5์ธ ์ต๋ ๋ถ๋ถ ์ฆ๊ฐ ์์ด์ ๋ง๋ค ์ ์๋ค. ์
๋ ฅ์ค๋ช
์ฒซ์งธ ์ค์ ์
๋ ฅ๋๋ ๋ฐ์ดํฐ์ ์ N(1= 0; j--) { if (arr[j] < arr[i] && max < dy[j]) { max = dy[j]; } } dy[i] = max + 1; } answer = Math.max(...dy); return answer; } let arr = [2, 7, 5, 8, 6, 4, 7, 12,..