반응형
https://school.programmers.co.kr/learn/courses/30/lessons/92342
import java.util.Arrays;
public class Solution {
static int[] answer = {-1};
static int[] lion = new int[11];
static int max = -1;
public static int[] solution(int n, int[] info) {
arrow(info, n);
// System.out.println(Arrays.toString(answer));
return answer;
}
public static void arrow(int[] info, int depth) {
if(depth <= 0) {
int scoreApeach = 0;
int scoreLion = 0;
for(int i=0; i<info.length; i++) {
if(info[i] == 0 && lion[i] == 0) {
continue;
} else if(info[i] >= lion[i]) {
scoreApeach += 10-i;
} else if(info[i] < lion[i]) {
scoreLion += 10-i;
}
}
if(scoreLion > scoreApeach) {
if(scoreLion - scoreApeach == max) {
boolean flag = false;
for(int i=info.length-1; i>=0; i--) {
if(answer[i] < lion[i]) {
flag = true;
break;
}
}
if(flag) answer = lion.clone();
} else if(scoreLion - scoreApeach > max) {
answer = lion.clone();
max = Math.max(max, scoreLion - scoreApeach);
}
}
return;
}
for(int i=0; i<info.length && lion[i] <= info[i]; i++) {
lion[i] += 1;
arrow(info, depth-1);
lion[i] -= 1;
}
}
}
반응형
'알고리즘 > 카카오' 카테고리의 다른 글
[프로그래머스] 행렬 테두리 회전하기 (0) | 2022.08.15 |
---|---|
[프로그래머스] k진수에서 소수 개수 구하기 (0) | 2022.08.12 |
[프로그래머스] 주차 요금 계산 (0) | 2022.08.04 |
2021 KAKAO BLIND RECRUITMENT - 메뉴 리뉴얼 (0) | 2022.02.13 |
2021 KAKAO BLIND RECRUITMENT - 순위 검색 (0) | 2022.02.01 |