https://school.programmers.co.kr/learn/courses/30/lessons/118666
풀이 - 나의 생각
디션너리를 사용하는 방법으로 풀어 봤습니다.
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
'프로그래머스 > Lv.1' 카테고리의 다른 글
2021 카카오 채용연계형 인턴십 > 숫자 문자열과 영단어 - Python (0) | 2024.11.05 |
---|---|
가장 가까운 같은 글자 - Pyton, not in (0) | 2024.11.04 |
바탕화면 정리 - Python (0) | 2024.11.04 |
행렬의 덧셈 - Python, ZIP (0) | 2024.11.01 |
카드 뭉치 - Python, List 에서 특정 값 삭제하 (0) | 2024.10.30 |