관리 메뉴

오늘도 배운다

성격 유형 검사하기 / 프로그래머스, 파이썬 코딩테스트 연습 2022 KAKAO TECH INTERNSHIP 본문

코딩테스트연습(파이썬)

성격 유형 검사하기 / 프로그래머스, 파이썬 코딩테스트 연습 2022 KAKAO TECH INTERNSHIP

LearnerToRunner 2022. 12. 14. 08:58

문제

질문마다 판단하는 지표를 담은 1차원 문자열 배열 survey와 검사자가 각 질문마다 선택한 선택지를 담은 1차원 정수 배열 choices가 매개변수로 주어집니다. 이때, 검사자의 성격 유형 검사 결과를 지표 번호 순서대로 return 하도록 solution 함수를 완성해주세요.

 

제출답안

def solution(survey, choices):
    # 기초 셋업
    ls_types = ["RT", "CF", "JM", "AN"] # 리스트: 각 타입
    log = {type:0 for type in set(''.join(ls_types))} #딕셔너리: 각 타입 점수 0으로 세팅
    scores = {1:3, 2:2, 3:1, 5:1, 6:2, 7:3}# 딕셔너리: 각 초이스별 점수
    
    # Survey 결과 불러오기
    for i, types in enumerate(survey):
        choice = choices[i] # 각 문제의 선택한 보기 번호
        if choice == 4: continue #모르겠음을 선택한 경우 다음 루프로
        type_chosen = types[0] if choice < 4 else types[1] # 선택된 타입
        log[type_chosen] += scores[choice] #딕셔너리에 점수
        
    answer = ''
    
    for pair in ls_types:
        a, b = pair
        type = a if log[a] >= log[b] else b
        answer += type
    
    return answer

 

 

 

문제 바로가기

 

728x90
Comments