728x90
문제
정답
def solution(survey, choices):
answer = ''
score = [0, 0, 0, 0]
for i in range(0, len(survey)):
if survey[i] == "RT":
score[0] += -1 * (choices[i] - 4)
elif survey[i] == "TR":
score[0] += choices[i] - 4
elif survey[i] == "CF":
score[1] += -1 * (choices[i] - 4)
elif survey[i] == "FC":
score[1] += choices[i] - 4
elif survey[i] == "JM":
score[2] += -1 * (choices[i] - 4)
elif survey[i] == "MJ":
score[2] += choices[i] - 4
elif survey[i] == "AN":
score[3] += -1 * (choices[i] - 4)
elif survey[i] == "NA":
score[3] += choices[i] - 4
if score[0] >= 0:
answer += "R"
elif score[0] < 0:
answer += "T"
if score[1] >= 0:
answer += "C"
elif score[1] < 0:
answer += "F"
if score[2] >= 0:
answer += "J"
elif score[2] < 0:
answer += "M"
if score[3] >= 0:
answer += "A"
elif score[3] < 0:
answer += "N"
return answer
문제를 푸는 여러 방법이 있지만 저는 두가지 성격을 하나의 점수로 합쳐서 생각하였습니다. 그래서 배열 또한 크기가 4입니다.
R, C, J, A 성격을 양수, 반대되는 성격을 음수로 하여 평가를 할때 점수를 주어 문제를 풀었습니다.
코드의 길이는 길어보여도 시간적으로 매우 짧게 끝나도록 문제를 풀었습니다.
728x90
'프로그래머스 코딩테스트 > Python' 카테고리의 다른 글
[프로그래머스] 개인정보 수집 유효기간 Python (0) | 2024.07.10 |
---|---|
[프로그래머스] 바탕화면 정리 Python (0) | 2024.07.10 |
[프로그래머스] 햄버거 만들기 Python (0) | 2024.07.09 |
[프로그래머스] 둘만의 암호 Python (0) | 2024.07.08 |
[프로그래머스] 대충 만든 자판 Python (0) | 2024.07.05 |