susinlee 님의 블로그

성격 유형 검사하기 본문

코드카타/Python

성격 유형 검사하기

susinlee 2024. 12. 22. 14:47

[문제]

https://school.programmers.co.kr/learn/courses/30/lessons/118666

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

[풀이] 

1. 딕셔너리를 통해 각 유형을 key로 해서 점수를 구해준다.

2. 각 지표별로 타입을 가져오고, 해당 타입을 key로 하여 점수를 가져온다.

3. 점수를 비교해서 성격 유형을 선택한다. 점수가 같을 때에는 사전순으로 가져오게끔 한다.

 

from collections import defaultdict

def solution(survey, choices):
    person_type = defaultdict(int)
    answer = ''

    for types, score in zip(survey, choices):
        chr1, chr2 = types
        if score - 4 > 0:
            person_type[chr2] += score - 4
        elif score - 4 < 0:
            person_type[chr1] += 4 - score

    for x, y in [('R', 'T'), ('C', 'F'), ('J', 'M'), ('A', 'N')]:
        scoreX, scoreY = person_type[x], person_type[y]

        if scoreX >= scoreY:
            answer += x
        else:
            answer += y

    return answer

'코드카타 > Python' 카테고리의 다른 글

개인정보 수집 유효기간  (0) 2024.12.24
바탕화면  (0) 2024.12.23
햄버거 만들기  (1) 2024.12.21
둘만의 암호  (0) 2024.12.20
문자열 나누기  (1) 2024.12.18