본문 바로가기
알고리즘

Programmers - 직업군 추천하기

by 장중앙 2021. 9. 15.

https://programmers.co.kr/learn/courses/30/lessons/84325?language=python3 

 

코딩테스트 연습 - 4주차_직업군 추천하기

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

programmers.co.kr

 

풀이

직업군 마다 탐색/확인

테이블의 요소별로 split ->info

info 탐색중에 languages에 있는 언어에 대해 점수 계산후 scores리스트에 담아줌

  - info[0]의 직업군의 점수 += (6-info_index) x 선호도

scores중에 최대값과 같은 직업군들만 따로 사전순 정렬하여 0번째 직업군을 return

 

def solution(table, languages, preference):
    scores=[]
    list=[]
    
    for idx in range(5): #테이블의 크기만큼
        score=0
        info=table[idx].split(" ")
        for i in range(1, len(info)):
            if info[i] in languages:
                lang_idx=languages.index(info[i])
                #테이블에서 각 직업군에 대한 언어의 순서 i, (6-i) x 선호도를 누적 합
                score+=preference[lang_idx]*(6-i) 
        scores.append(score)
    
    for i in range(len(scores)):
        if scores[i]==max(scores):
            #점수들의 최대값과 같은 직업군을 리스트에 append
            list.append(table[i].split(" ")[0])
    # 사전순으로 정렬            
    list.sort()
    return list[0]

 

'알고리즘' 카테고리의 다른 글

Programmers - 퍼즐 조각 채우기(C++)  (0) 2021.09.24
BOJ 2467 - 용액(C++)  (0) 2021.09.15
Programmers - 상호평가  (0) 2021.09.14
Programmers - 부족한 금액 계산하기  (0) 2021.09.14
Programmers - 문자열 압축(Python)  (0) 2021.09.06

댓글