2022 KAKAO TECH INTERNSHIP
지표 번호 순서대로 성격유형을 dic의 key로, item을 0으로 초기화하여 접근이 쉽도록 한다.
def solution(survey, choices):
answer = ''
dic = {'R':0, 'T':0, 'C':0, 'F':0, 'J':0, 'M':0, 'A':0, 'N':0}
for i in range(len(survey)):
if choices[i] < 4:
dic[survey[i][0]] += 4-choices[i]
else:
dic[survey[i][1]] += choices[i]-4
if dic['R'] >= dic['T']:
answer += 'R'
else:
answer += 'T'
if dic['C'] >= dic['F']:
answer += 'C'
else:
answer += 'F'
if dic['J'] >= dic['M']:
answer += 'J'
else:
answer += 'M'
if dic['A'] >= dic['N']:
answer += 'A'
else:
answer += 'N'
return answer
배열의 길이만큼 선택한 점수가 4보다 큰 경우와 작은 경우로 나눠서 dic에 점수를 더한다.
동일한 점수인 경우 사전순으로 빠른 성격 유형이므로 4개의 지표 순서대로 조건문(크거나 같을 때)을 사용하여 성격 유형을 answer에 저장한다.
def solution(survey, choices):
my_dict = {"RT":0,"CF":0,"JM":0,"AN":0}
for A,B in zip(survey,choices):
if A not in my_dict.keys():
A = A[::-1] # 역순으로
my_dict[A] -= B-4
else:
my_dict[A] += B-4
result = ""
for name in my_dict.keys():
if my_dict[name] > 0:
result += name[1]
elif my_dict[name] < 0:
result += name[0]
else:
result += sorted(name)[0]
return result