Search

PGS 성격 유형 검사하기

URL
태그
구현
브루트포스 알고리즘

문제 설명

질문별 성격 유형 지표와 선택지를 기반으로 점수를 계산해, 각 지표에서 높은 점수를 받은 성격 유형을 반환하는 문제
하나의 지표에서 각 성격 유형 점수가 같으면, 두 성격 유형 중 사전 순으로 빠른 성격 유형을 선택

예제 입력/출력

survey
choices
result
["AN", "CF", "MJ", "RT", "NA"]
[5, 3, 2, 7, 5]
"TCMA"
["TR", "RT", "TR"]
[7, 1, 3]
"RCJA"

제약 조건

1survey1,0001 ≤ |survey| ≤ 1,000

문제 풀이

브루트 포스 - O(survey)O(|survey|)

풀이 코드

types = ['R', 'T', 'C', 'F', 'J', 'M', 'A', 'N'] def solution(survey, choices): score = {t: 0 for t in types} # score[t]: 성격 유형 t의 점수 for s, c in zip(survey, choices): if c <= 3: score[s[0]] += (4 - c) elif c >= 5: score[s[1]] += (c - 4) ans = "" for i in range(4): s1, s2 = score[types[2 * i]], score[types[2 * i + 1]] if s1 >= s2: ans += types[2 * i] else: ans += types[2 * i + 1] return ans
Python
복사