작성
·
207
0
안녕하세요!
IntelliJ로 실행해봤을 때는 이상 없는데
채점사이트로 실행 시 컴파일 에러로 잡혀서 어느 부분이 문제인지 알려주시면 정말 감사합니다!
import java.util.*;
class Main{
public int[] solution(int n, int[] arr) {
HashMap<Integer, Integer> rankMap = new HashMap<>();
ArrayList<Integer> sortList = new ArrayList<>(){{
for(int i = 0; i < n; i++) add(arr[i]);
}};
int[] answer = new int[n];
sortList.sort(Collections.reverseOrder());
for (int i = 0; i < n; i++) {
if (i == 0) rankMap.put(sortList.get(i), 1);
else if (sortList.get(i-1).equals(sortList.get(i))) continue;
else rankMap.put(sortList.get(i), i+1);
}
for (int i = 0; i < n; i++){
answer[i] = rankMap.get(arr[i]);
}
return answer;
}
public static void main(String[] args) {
// 실행 시간 측정
// long beforeTime = System.currentTimeMillis();
// 측정 코드 시작
Main T = new Main();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
for(int i : T.solution(n, arr)) System.out.print(i + " ");
sc.close();
// 측정 코드 끝
// long afterTime = System.currentTimeMillis();
// long diffTime = afterTime-beforeTime;
// System.out.println("실행시간(ms) " + diffTime);
}
}
답변 1
0
제너릭을 사용할 시 익명 클래스 구현 미지원하는 것으로 확인해서
ArrayList 선언 이후에 따로 for문을 돌려 값을 초기화하는 것으로 해결했습니다. 감사합니다!