반응형

문제풀이

1. 직군별로 언어에 대한 점수와 개발자의 언어별 선호도가 주어진다.

2. (직군의 언어 점수 * 개발자의 언어 선호도 )의 합이 가장 큰 직군을 반환한다.

 * 동점시 알파벳 순으로 빠른 직군을 반환한다.

 

Python Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# https://programmers.co.kr/learn/courses/30/lessons/84325
def solution(table, languages, preference):
    # 동점시 알파벳 순으로 빠른 것을 리턴해야하므로 정렬되어있어야한다.
    answer =     ['CONTENTS''GAME''HARDWARE''PORTAL''SI']
    # dic['직군']['언어']=점수
    dic={}
    for t in table:
        x=t.split()
        tmp={}
        for i in range(5):
            tmp[x[i+1]]=5-i
        dic[x[0]]=tmp
    # 직군별 점수 합계
    a=[(sum(dic[a][l]*if l in dic[a] else 0 for l, p in zip(languages, preference))) for a in answer]
    
    return answer[a.index(max(a))]
cs

 

문제 링크

 

코딩테스트 연습 - 4주차

개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부

programmers.co.kr

 

반응형

+ Recent posts