성격 유형 검사하기

최민수·2023년 3월 14일
0

알고리즘

목록 보기
36/94
from collections import defaultdict

def solution(survey, choices):
    answer = ''
    types = defaultdict(lambda: 0)
    
    # 점수 환산
    for items, score in zip(survey, choices):
        first, sec = items[0], items[1]
        if score > 4:
            types[sec] += (score-4)
        elif score < 4:
            types[first] += (4-score)
    
    # 성격 유형 판단
    indexes = [["R", "T"], ["C", "F"], ["J", "M"], ["A", "N"]]
    for item1, item2 in indexes:
        if types[item1] > types[item2]:
            answer += item1
        elif types[item1] < types[item2]:
            answer += item2
        else: # 점수 동률 - 사전순
            temp = [item1, item2]
            temp.sort()
            answer += temp[0]
    
    return answer
  • defaultdict 를 이용하면 편한 무난한 구현 문제이다.

프로그래머스 연습문제, https://school.programmers.co.kr/learn/challenges

profile
CS, 개발 공부기록 🌱

0개의 댓글