java 2

[JAVA]백준 11053번: 가장 긴 증가하는 부분 수열

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 요즘엔 DP를 중점적으로 공부하고 있기 때문에, DP관련 문제들만 찾아서 풀고 있다. 오늘은 그 중에서 '11053_가장 긴 증가하는 부분 수열'과 '11722_가장 긴 감소하는 부분 수열' 두 문제를 풀어보았다. | 문제 해결방법 관련 알고리즘 : 최장 증가 부분 수열(LIS) + DP 주어진 요소들 중에서 조건에 맞..

[JAVA]백준 5904번: Moo 게임

[JAVA] 백준 5904번: Moo 게임 백준 5904번 https://www.acmicpc.net/problem/5904 문제 문제는 이해하기 쉽다. moo 들의 조합으로 이루어진 문자열의 규칙을 찾아서, 입력되는 N번째의 문자가 어떤 문자('m' 또는 'o')인지 출력하면 된다. 보면 규칙적으로 m은 단어의 첫 번째에서만 나온다. 규칙 찾고, 첫 번째 단어인지 체크 → 맞으면 'm', 아니면 'o'를 출력하면 끝 이제 규칙을 찾아보자 규칙 문자열이 길어지는 규칙을 보면 S[k] = S[k-1] + moo+o(k) + S[k-1]* 이다. 즉, 가운데를 기준으로 앞, 뒤에 이전 값이 붙는다. 이를 토대로 입력된 숫자(N)가 10 정도 된다고 가정했을 경우, 수많은 moo 들을 크게 왼쪽 moo(Lef..

알고리즘 풀이 2021.08.30