반응형
문제풀이
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]*p 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
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 메뉴 리뉴얼 Python (0) | 2021.09.26 |
---|---|
[프로그래머스] 행렬 테두리 회전하기 Python (0) | 2021.09.16 |
[프로그래머스] 실패율 Python (0) | 2021.08.22 |
[프로그래머스] 위클리 챌린지 2주차 python (0) | 2021.08.21 |
[프로그래머스] 오픈채팅방 Python (0) | 2021.07.02 |