알고리즘/프로그래머스

[위클리 챌린지] 4주차

래울 2021. 8. 24. 20:01

https://programmers.co.kr/learn/courses/30/lessons/84325

 

코딩테스트 연습 - 4주차

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

programmers.co.kr

 

- Python 풀이

 

def solution(table, languages, preference):
    answer = ''
    dic = {}    #직업군 언어 점수
    for i in table:
        t = i.split(' ')
        dic[t[0]] = t[1:]
    dic2 = {}   #개발자 언어 선호도
    for i in range(len(languages)):
        dic2[languages[i]] = preference[i]
    
    highest_score = 0
    
    for i in ['CONTENTS', 'GAME', 'HARDWARE', 'PORTAL', 'SI']:  #사전순으로
        score = 0
        for j in range(5):
            if dic[i][j] in dic2.keys():
                score += dic2[dic[i][j]] * (5-j)
        if highest_score < score:
            highest_score = score
            answer = i
    return answer