연습장
20. 성격 유형 검사하기 본문
n개의 질문 - 7개의 선택지이며
AN 의 경우
1-3 : A 의 점수 / 4 : 0 점 / 5-7 : N 의 점수
AN 5 이므로 N 1점 (네오형 1점) 으로 볼 수 있다.
그리고 NA 5 가 있으므로
A 1점 (어피치형 1점) 으로 볼 수 있다
다음과 같이 요약할 수 있으며
T C M 에 동점인 A와 M 중 사전순으로 빠른 A 가 오게되어서
TCMA 가 된다.
survey 의 문자와 choice 의 숫자에 따라서
RT / CF / JM / AN 에 대해서 각각의 점수를 얻고 종합한 4자리 문자를 출력하는게 목표이다.
survey를 하나씩 꺼내서 맨 앞자리에 따라서 1-3 까진 + 이고 4는 0 5-7은 - 이므로
4 - choices[i] 를 적용하면 +3 점부터 -3 점까지 가능하다.
RT의 기준 R 일경우 + 부터이며
RT에서 T 일경우 - 부터로 적용하여 일관되게 만들었다.
def solution(survey, choices):
answer = ''
RT = 0
CF = 0
JM = 0
AN = 0
for i in range(len(survey)):
if survey[i][0] == "R":
RT += 4-choices[i]
elif survey[i][0] == 'T':
RT -= 4-choices[i]
elif survey[i][0] == 'C':
CF += 4-choices[i]
elif survey[i][0] == 'F':
CF -= 4-choices[i]
elif survey[i][0] == 'J':
JM += 4-choices[i]
elif survey[i][0] == 'M':
JM -= 4-choices[i]
elif survey[i][0] == 'A':
AN += 4-choices[i]
elif survey[i][0] == 'N':
AN -= 4-choices[i]
if RT >= 0:
answer += "R"
else :
answer += "T"
if CF >= 0:
answer += "C"
else :
answer += "F"
if JM >= 0:
answer += "J"
else :
answer += "M"
if AN >= 0:
answer += "A"
else :
answer += "N"
return answer
'프로그래머스 > 1단계' 카테고리의 다른 글
22. 바탕화면 정리 (0) | 2024.01.20 |
---|---|
21. 데이터 분석 (0) | 2024.01.20 |
19. 신규 아이디 추천 (0) | 2024.01.19 |
18. 햄버거 만들기 (0) | 2024.01.19 |
17. 키패드 누르기 (0) | 2024.01.19 |