프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

나의 풀이

  • 우선 순위가 동일할 경우를 대비해 미리 알파벳 순으로 answer에 입력했다.
def solution(survey, choices):
    # 미리 알파벳 순으로 정렬
    answer = ["R", "C", "J", "A"]
    score = {"R":0, "T":0, "C":0, "F":0, "J":0, "M":0, "A":0, "N": 0}
    
    for s, c in zip(survey, choices):
        if c < 4:
            score[s[0]] += (4 - c)
        elif c > 4:
            score[s[1]] += (c - 4)
            
    if score["R"] < score["T"]:
        answer[0] = "T"
        
    if score["C"] < score["F"]:
        answer[1] = "F"
        
    if score["J"] < score["M"]:
        answer[2] = "M"
        
    if score["A"] < score["N"]:
        answer[3] = "N"
    
    return "".join(answer)