[2022 KAKAO TECH INTERNSHIP/Python] 성격 유형 검사하기

NAGANG LEE·2023년 7월 10일

알고

목록 보기
8/118

👀 문제

성격 유형 검사하기

나만의 카카오 성격 유형 검사지를 만들려고 합니다.
성격 유형 검사는 다음과 같은 4개 지표로 성격 유형을 구분합니다. 성격은 각 지표에서 두 유형 중 하나로 결정됩니다.

4개의 지표가 있으므로 성격 유형은 총 16(=2 x 2 x 2 x 2)가지가 나올 수 있습니다. 예를 들어, "RFMN"이나 "TCMA"와 같은 성격 유형이 있습니다.


✍️ 코드

def solution(survey, choices):
    answer = ''
    
    # 유형 딕셔너리 생성
    score = {'R': 0, 'T': 0, 'C': 0, 'F': 0, 'J': 0, 'M': 0, 'A': 0, 'N': 0}
    
    # 유형 점수 추가
    for i in range(len(survey)):
        disagree = survey[i][0]
        agree = survey[i][1]
        choice = choices[i]
    
        if (choice == 1):
            score[disagree] += 3
        elif (choice == 2):
            score[disagree] += 2
        elif (choice == 3):
            score[disagree] += 1
        elif (choice == 4):
            continue
        elif (choice == 5):
            score[agree] += 1
        elif (choice == 6):
            score[agree] += 2
        else:
            score[agree] += 3
                
    # 지표끼리 비교해서 큰 숫자
    if (score['R'] >= score['T']):
        answer += 'R'
    else: answer += 'T'
    
    if (score['C'] >= score['F']):
        answer += 'C'
    else: answer += 'F'
    
    if (score['J'] >= score['M']):
        answer += 'J'
    else: answer += 'M'
    
    if (score['A'] >= score['N']):
        answer += 'A'
    else: answer += 'N'
    
    return answer

📍 그냥 구현 문제였기 때문에 생각보다 어렵지 않게 풀 수 있었다.

profile
모바일 개발자를 목표로 하고 있어요 💭

0개의 댓글