개발/알고리즘

Programmers - 위클리 4주차

devNam 2021. 9. 6. 23:32
반응형
import java.util.*;

class Solution {
    public String solution(String[] table, String[] languages, int[] preference) {
        int maxScore = 0;
        String maxScoreJob = "";
        
        for(int i = 0; i < table.length; i++){
            String[] data = table[i].split(" ");
            String job = data[0];
            int score = getScore(data, languages, preference);
            
            if(score > maxScore) {
                maxScore = score;
                maxScoreJob = job;
            } 
            if(score == maxScore) {
                if(maxScoreJob.compareTo(job) > 0) {
                    maxScoreJob = job;
                }
            }
        }
        
        return maxScoreJob;
    }
    public int getScore(String[] data, String[] languages, int[] preference) {
        int score = 0;
        for(int i = 0; i < languages.length; i++) {
            int idx = Arrays.asList(data).indexOf(languages[i]);
            if(idx > -1){
                score += (6-idx)*preference[i];   
            }
        }
        return score;
    }
}

 

- 아직 많이 부족하고 더 깔끔하게 코드 작성할 수 있게 노력해야겠다

반응형