[프로그래머스] 성격 유형 검사하기 (python 입문)

zae·2023년 4월 23일
1

python

목록 보기
2/3
post-thumbnail

💡 성격 유형 검사하기 info


🦊 문제 설명

🌳 주어지는 입력

  • survey : 비교할 문항지들이 순서대로 들어옴
# ex _ survey
["AN", "CF", "MJ", "RT", "NA"]
  • choices : 검사지 별 선택지에 해당하는 점수로 들어옴
    즉, 1~3은 앞 유형에 점수를, 5~7은 뒷 유형에 점수를 준다.
# ex _ choices
[5, 3, 2, 7, 5]

-> "AN"5"N"1

🌳 반환값

최종 성격 유형


🔨 해결 방법(코드)

주석 참고!

def solution(survey, choices):
    answer = ''
    dic = {"R":0, "T":0, "C":0, "F":0, "J":0, "M":0, "A":0, "N":0} #index 없음
    
    # zip으로 병렬 처리
    for srv, j in zip(survey, choices):
        if j < 4:
            dic[srv[0]] += 4-j  # 앞
        elif j > 4:
            dic[srv[1]] += j-4  # 뒤
            
    # idx 사용을 위한 인덱스 처리
    total = [("R", dic["R"]), ("T", dic["T"]), ("C", dic["C"]), 
             ("F", dic["F"]), ("J", dic["J"]), ("M", dic["M"]), 
             ("A", dic["A"]), ("N", dic["N"])]
    print(total)
    
   # 0~7의 범위 내에서 *2하면서 
    for i in range(0, 7, 2):
        if total[i][1] >= total[i+1][1]: # 수 비교
            answer += total[i][0] # 문자열 넣기
        else:
            answer += total[i+1][0]
            
    return answer
profile
코린이 성장 과정! 깊이 있게 파고들 공부를 탐색하고 있습니다 :)

0개의 댓글