본문 바로가기
프로그래머스/Lv.1

2022 KAKAO TECH INTERNSHIP > 성격 유형 검사하기 - Pyton

by 아찌방 2024. 11. 4.

 

 

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

 

프로그래머스

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

programmers.co.kr

 

 

 

풀이 - 나의 생각

디션너리를 사용하는 방법으로 풀어 봤습니다.

 

choice 1 2 3 4 5 6 7
 point 3 2 1 0 1 2 3

 

선택 별 포인트는 위의 표와 같습니다.

 

그러니까

 

선택지에 따라 주어지는 점수를

 

성향(성격?)별로 저장해두고

 

마지막에 비교해서 답을 확인하면 됩니다.

 

답을 구할때 비교되는 성격이 모두 0점이면

 

사전순인 걸 기억해야 합니다.

 

코드

 

def solution(survey, choices):
    answer = ''
    dict = {
        'R' : 0,
        'T' : 0,
        'C' : 0,
        'F' : 0,
        'J' : 0,
        'M' : 0,
        'A' : 0,
        'N' : 0,
    }
    
    # choices : 1 2 3 4 5 6 7
    #  point  : 3 2 1 0 1 2 3
    for caracter, choice in zip(survey, choices):
            if choice < 4:
                dict[caracter[0]] += (4-choice)
            elif choice > 4:
                dict[caracter[1]] += (choice-4)
                
    answer += 'R' if dict['R'] >= dict['T'] else 'T'
    answer += 'C' if dict['C'] >= dict['F'] else 'F'
    answer += 'J' if dict['J'] >= dict['M'] else 'M'
    answer += 'A' if dict['A'] >= dict['N'] else 'N'
    
    return answer

 

 

def solution(survey, choices):
    answer = ''
    dict = {
        'R' : 0,
        'T' : 0,
        'C' : 0,
        'F' : 0,
        'J' : 0,
        'M' : 0,
        'A' : 0,
        'N' : 0,
    }
    
    # choices : 1 2 3 4 5 6 7
    #  point  : 3 2 1 0 1 2 3
    for idx, caracter in enumerate(survey):
            choice = choices[idx]
            if choice < 4:
                dict[caracter[0]] += (4-choice)
            elif choice > 4:
                dict[caracter[1]] += (choice-4)
                
    answer += 'R' if dict['R'] >= dict['T'] else 'T'
    answer += 'C' if dict['C'] >= dict['F'] else 'F'
    answer += 'J' if dict['J'] >= dict['M'] else 'M'
    answer += 'A' if dict['A'] >= dict['N'] else 'N'
    
    return answer

 

 

 

 

 

다음에 또 봐요

 

728x90