프로그래머스/Lv.1
2022 KAKAO TECH INTERNSHIP > 성격 유형 검사하기 - Pyton
아찌방
2024. 11. 4. 23:04
https://school.programmers.co.kr/learn/courses/30/lessons/118666
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이 - 나의 생각
디션너리를 사용하는 방법으로 풀어 봤습니다.
choice | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
point | 3 | 2 | 1 | 0 | 1 | 2 | 3 |
선택 별 포인트는 위의 표와 같습니다.
그러니까
선택지에 따라 주어지는 점수를
성향(성격?)별로 저장해두고
마지막에 비교해서 답을 확인하면 됩니다.
답을 구할때 비교되는 성격이 모두 0점이면
사전순인 걸 기억해야 합니다.
코드
def solution(survey, choices):
answer = ''
dict = {
'R' : 0,
'T' : 0,
'C' : 0,
'F' : 0,
'J' : 0,
'M' : 0,
'A' : 0,
'N' : 0,
}
# choices : 1 2 3 4 5 6 7
# point : 3 2 1 0 1 2 3
for caracter, choice in zip(survey, choices):
if choice < 4:
dict[caracter[0]] += (4-choice)
elif choice > 4:
dict[caracter[1]] += (choice-4)
answer += 'R' if dict['R'] >= dict['T'] else 'T'
answer += 'C' if dict['C'] >= dict['F'] else 'F'
answer += 'J' if dict['J'] >= dict['M'] else 'M'
answer += 'A' if dict['A'] >= dict['N'] else 'N'
return answer
def solution(survey, choices):
answer = ''
dict = {
'R' : 0,
'T' : 0,
'C' : 0,
'F' : 0,
'J' : 0,
'M' : 0,
'A' : 0,
'N' : 0,
}
# choices : 1 2 3 4 5 6 7
# point : 3 2 1 0 1 2 3
for idx, caracter in enumerate(survey):
choice = choices[idx]
if choice < 4:
dict[caracter[0]] += (4-choice)
elif choice > 4:
dict[caracter[1]] += (choice-4)
answer += 'R' if dict['R'] >= dict['T'] else 'T'
answer += 'C' if dict['C'] >= dict['F'] else 'F'
answer += 'J' if dict['J'] >= dict['M'] else 'M'
answer += 'A' if dict['A'] >= dict['N'] else 'N'
return answer
728x90