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