🍀 문제
직업군 언어 점수를 정리한 문자열 배열 table, 개발자가 사용하는 언어를 담은 문자열 배열 languages, 언어 선호도를 담은 정수 배열 preference가 매개변수로 주어집니다. 개발자가 사용하는 언어의 언어 선호도 x 직업군 언어 점수의 총합이 가장 높은 직업군을 return 하도록 solution 함수를 완성해주세요. 총합이 같은 직업군이 여러 개일 경우, 이름이 사전 순으로 가장 빠른 직업군을 return 해주세요.
https://programmers.co.kr/learn/courses/30/lessons/84325
코딩테스트 연습 - 4주차
개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부
programmers.co.kr
😊 나의 코드
import java.util.*;
class Solution {
public String solution(String[] table, String[] languages, int[] preference) {
HashMap lan = new HashMap<String,Integer>();
for(int i=0; i<languages.length; i++) {
lan.put(languages[i],preference[i]);
}
String answer = "";
int maxScore = 0;
for(int i=0; i<table.length; i++){
int score = 0;
String job[] = table[i].split(" ");
for(int j=1; j<=5; j++) {
if(lan.containsKey(job[j])) {
score += (6-j) * (Integer)lan.get(job[j]);
}
}
if(maxScore<score || (maxScore==score && answer.compareTo(job[0])>0)) {
answer = job[0];
maxScore = score;
}
}
return answer;
}
}
문제가 재밌었다ㅎㅎ
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 LV1. 없는 숫자 더하기 (자바) (0) | 2021.09.23 |
---|---|
프로그래머스 위클리 챌린지 6주차 (자바) (0) | 2021.09.21 |
프로그래머스 LV2. 최댓값과 최솟값 (자바) (0) | 2021.09.02 |
프로그래머스 LV2. 최솟값 만들기 (자바) (0) | 2021.09.01 |
프로그래머스 LV2. N개의 최소공배수 (자바) (0) | 2021.08.30 |
댓글