그리디2 그리디 - 숫자 카드 게임 이차원 배열에서 행 중 가장 작은 수만 골라서 그 중 가장 큰 수를 찾는 게임 이차원 배열을 입력받으면서 그 중 작은수들을 고르고 한번 더 비교를 통해 더 큰 수를 찾는다. 현재 문제에는 몇번째 행이라던가 그런 추가 조건이 없기 때문에 비교적 쉬운 문제다. 사실 배열은 생성할 필요도 없지만 현재 테스트 코드에서 모든걸 끝내기 위해 작성했다. @Test void 그리디_숫자_카드_게임() { // 배열의 한 행을 고르는데, 배열의 행에서 가장 작은값이 선택될 경우 가장 큰 값을 고르는 방법 int n = 3; int m = 3; int[][] arr = { {3,1,2}, {4,5,4}, {2,2,2} }; List list = new ArrayList(); for (int i = 0; i < n; i++.. 2022. 1. 5. 그리디 - 큰 수 구하기 n, m, k 세 개의 값을 받아서 n 만큼의 숫자를 배열에 담고, m 번 만큼 숫자를 나열하는데 한 숫자당 연달아 k만큼 가능하다. n = 5, m = 5, k = 2 n = { 1, 2, 3, 4, 5} 가장 큰 수의 조합은 5 5 4 5 5 형태가 된다. @Test void 그리디_큰수구하기() { // 같은 숫자를 연달아 k번 반복가능, m만큼 나열했을때 가장 큰수 int m = 8; int k =3; /** * 만약 값을 입력받는다면 List로 받아서 Collections 정렬을 하자. * 배열로 받아서 Arrays.sort는 reverseOrder가 까다로움. */ List list = Lists.newArrayList(2, 6, 4, 5, 4); list.sort(Collections.rev.. 2022. 1. 4. 이전 1 다음