문제를 읽어보면 구현 문제라는 것을 알 수 있다.
따라서 문제 포인트만 말해보면 ( R , T ) , ( C , F ) , ( J , M ) , ( A , N ) 중 하나씩 골라야 한다.
문제 조건 중 두개 중 점수가 같아 고를 수 없으면 사전 순으로 빠른 순서를 지닌 성격 유형을 고른다.
survey 를 하나씩 검사하여 점수를 부여하면 된다.
from collections import defaultdict
def solution(survey, choices):
answer = ''
d = defaultdict(int)
for idx in range(0,len(survey)):
if choices[idx] <4:
d[survey[idx][0]]+=4-choices[idx]
if choices[idx] >4:
d[survey[idx][1]]+=choices[idx]-4
mbti=[['R','T'],['C','F'],['J','M'],['A','N']]
for m in mbti:
if d[m[1]]>d[m[0]]:
answer+=m[1]
else:
answer+=m[0]
return answer
'문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 문제풀이] 코딩 테스트 준비 (1) | 2022.08.23 |
---|---|
[프로그래머스 문제풀이] 두 큐 합 같게 만들기 (0) | 2022.08.23 |
[프로그래머스 문제풀이] 양과늑대 문제풀이 (0) | 2022.08.16 |
[프로그래머스 문제풀이] 배달 문제풀이 (0) | 2021.09.06 |
[프로그래머스 문제풀이] 더 맵게 문제풀이 (0) | 2021.06.25 |