2022 KAKAO TECH INTERNSHIP - 성격 유형 검사하기 (파이썬) 문제 및 풀이

초코칩·2022년 10월 20일
0

카카오

목록 보기
1/12
post-thumbnail

문제

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

질문에 대한 설문지와 답변에 대하여 mbti를 출력하는 solution 함수를 짜는 문제였습니다.

풀이

mbti의 결과를 res라는 딕셔너리로 0으로 초기화하여 저장합니다. 각 설문을 반복문으로 순회하면서 solve(s, c)의 함수로 업데이트해 줍니다.
반복문이 마치고 나서, res에 저장된 mbti의 개수를 비교하여 정답을 반환합니다.

코드

res = {'A': 0, 'R': 0, 'T': 0, 'C': 0, 'F': 0, 'J': 0, 'M': 0, 'N': 0}

def solve(s, c):
    if c == 1:
        res[s[0]] += 3
    elif c == 2:
        res[s[0]] += 2
    elif c == 3:
        res[s[0]] += 1
    elif c == 4:
        return
    elif c == 5:
        res[s[1]] += 1
    elif c == 6:
        res[s[1]] += 2
    elif c == 7:
        res[s[1]] += 3
    
def solution(surveys, choices):
    for i in range(len(surveys)):
         solve(surveys[i], choices[i])
    
    answer = ''
    if res['R'] >= res['T']:
        answer += 'R'
    else:
        answer += 'T'
    
    if res['C'] >= res['F']:
        answer += 'C'
    else:
        answer += 'F'
    
    if res['J'] >= res['M']:
        answer += 'J'
    else:
        answer += 'M'
    
    if res['A'] >= res['N']:
        answer += 'A'
    else:
        answer += 'N'
        
    return answer

회고

  • 변수명을 더 신경써서 풀어보자.
  • 쉬운 문제인데 시간을 너무 지체했다. 구현 연습을 더 하자.
profile
초코칩처럼 달콤한 코드를 짜자

0개의 댓글