코딩테스트

코딩테스트 연습_2022 KAKAO_성격 유형 검사하기

끈끈 2023. 5. 18. 18:15

Lv. 1, 45%

 

문제

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


 

입출력 예

 

 


 

성격 유형 점수 표 예시

 

 


 

내가 제출한 코드:

def solution(survey, choices):
    answer = ''
    type = {"R": 0, "T": 0, "C": 0, "F": 0, "J": 0, "M": 0, "A": 0, "N": 0}
    choice = {1: 3, 2: 2, 3: 1, 4: 0, 5: 1, 6: 2, 7: 3}
    
    for i in range(len(choices)):
        if choices[i] < 4:
            type[survey[i][:1]] += choice[choices[i]]
        elif choices[i] > 4:
            type[survey[i][1:2]] += choice[choices[i]]
        
    for j in range(0, len(type),2):
        if list(type.items())[j][1] >= list(type.items())[j+1][1]:
            answer += list(type.items())[j][0]
        else:
            answer += list(type.items())[j+1][0]

    return answer

 

마지막에 딕셔너리에서 두 개씩 비교하는 부분에서 막혔는데

 

리스트로 변환 후 비교해주었다

 

for j in range(0, len(type),2):
    if list(type.items())[j][1] >= list(type.items())[j+1][1]:
        answer += list(type.items())[j][0]
    else:
        answer += list(type.items())[j+1][0]