https://school.programmers.co.kr/learn/courses/30/lessons/42889

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


맵을 이용해서 키와 값을 만들고

값을 기준으로 정렬.

import java.io.*;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
class Solution {
    public int[] solution(int N, int[] stages) {
            int[] answer = new int[N];
		for(int i=0;i<stages.length;i++){
            int a = stages[i]-2;
            while(a>=0) {
            	answer[a]++;
            	a--;
            }
        }
		
		
		
		double[] fail = new double[N];
		fail[0]=(double)answer[0]/stages.length;
		for(int i=1;i<N;i++) {
			fail[i]=(double)answer[i]/answer[i-1];
		}
		HashMap<Integer, Double> aa = new HashMap<Integer, Double>();
		for(int i=0;i<N;i++) {
			aa.put(i+1, fail[i]);
		}
		int i=0;
		List<Map.Entry<Integer, Double>> entryList = new LinkedList<Map.Entry<Integer,Double>>(aa.entrySet());
		entryList.sort(Map.Entry.comparingByValue());
		for(Map.Entry<Integer, Double> entry : entryList) {
			answer[i]=entry.getKey();
			i+=1;
		}
		
		
        return answer;
    }
}

+ Recent posts