https://school.programmers.co.kr/learn/courses/30/lessons/118666
각 성격 유형들을 딕셔너리로 만들어주고 choice 값에 따라 해당 유형의 값을 증가시켰다.
마지막에 순서에 맞게 성격 유형의 값을 출력해준다.
처음 제출한 코드
# 프로그래머스 118666: 성격 유형 검사하기 (2022 KAKAO TECH INTERNSHIP)
def solution(survey, choices):
answer = ''
personalities = { "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] == 1:
personalities[survey[i][0]] += 3
elif choices[i] == 2:
personalities[survey[i][0]] += 2
elif choices[i] == 3:
personalities[survey[i][0]] += 1
elif choices[i] == 5:
personalities[survey[i][1]] += 1
elif choices[i] == 6:
personalities[survey[i][1]] += 2
elif choices[i] == 7:
personalities[survey[i][1]] += 3
keys = list(personalities.keys())
values = list(personalities.values())
for i in range(4):
if values[2*i] >= values[2*i+1]:
answer += keys[2*i]
else:
answer += keys[2*i+1]
return answer
조금 더 깔끔하게 정리했다.
다시 제출한 코드
# 프로그래머스 118666: 성격 유형 검사하기 (2022 KAKAO TECH INTERNSHIP)
def solution(survey, choices):
answer = ''
personalities = { "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:
personalities[survey[i][0]] += (4 - choices[i])
else:
personalities[survey[i][1]] += (choices[i] - 4)
keys = list(personalities.keys())
values = list(personalities.values())
for i in range(4):
if values[2*i] >= values[2*i+1]:
answer += keys[2*i]
else:
answer += keys[2*i+1]
return answer
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 | Lv1] 개인정보 수집 유효기간 (Python) - 2023 KAKAO BLIND RECRUITMENT (0) | 2023.01.07 |
---|---|
[프로그래머스 | Lv1] 햄버거 만들기 (Python) (0) | 2023.01.07 |
[프로그래머스 | Lv1] 신규 아이디 추천 (Python) - 2021 KAKAO BLIND RECRUITMENT (0) | 2023.01.04 |
[프로그래머스 | Lv1] 숫자 문자열과 영단어 (Python) - 2021 카카오 채용연계형 인턴십 (0) | 2023.01.03 |
[프로그래머스 | Lv1] 신고 결과 받기 (Python) - 2022 KAKAO BLIND RECRUITMENT (0) | 2023.01.03 |