반응형
저는 가끔 모르겠는 문제는 그저 노가다를 합니다...
'하나도 빠트리지 않고 중복되지 않게'
마치 고등학생 때 확률과 통계를 배울 때 들었던 것처럼, 뭔가를 곱할 지 더할 지 모르면 기본은 하나하나 세는 것이라며 '하나도 빠뜨리지 않고 중복되지 않게' 세면 된다는 정신을 이어받아서 그냥 해버릴 때도 있습니다.
이번 문제가 바로 그런 문제였던 것 같습니다.
그런 만큼 if elif else가 정말 많네요.
문제에서 어떤 상황에서 어떻게 항목이 더해지는 지 이미 알고 계실 거라는 가정하에 코드 작성에 어려움을 갖고 계신 분이 계실까봐 코드만 남겨놓고 갑니다.
def solution(survey, choices):
answer = ''
d = dict()
for j in ['R', 'T', 'C', 'F', 'J', 'M', 'A', 'N']:
d[j] = 0
for i in range(len(choices)):
if choices[i] == 1:
d[survey[i][0]] += 3
elif choices[i] == 2:
d[survey[i][0]] += 2
elif choices[i] == 3:
d[survey[i][0]] += 1
elif choices[i] == 5:
d[survey[i][1]] += 1
elif choices[i] == 6:
d[survey[i][1]] += 2
elif choices[i] == 7:
d[survey[i][1]] += 3
else:
pass
if d['R'] >= d['T']:
answer += 'R'
else:
answer += 'T'
if d['C'] >= d['F']:
answer += 'C'
else:
answer += 'F'
if d['J'] >= d['M']:
answer += 'J'
else:
answer += 'M'
if d['A'] >= d['N']:
answer += 'A'
else:
answer += 'N'
return answer
반응형
'코딩' 카테고리의 다른 글
아무도 안 궁금하겠지만 공표합니다. 자바스크립트를 공부해보겠습니다. (0) | 2023.08.25 |
---|---|
[파이썬] 마법의 엘리베이터 - 프로그래머스 코딩테스트 연습 (0) | 2023.08.18 |
[파이썬] 코딩테스트 연습 - 개인정보 수집 유효 기간 (0) | 2023.08.18 |
[파이썬] 코딩테스트 연습 - 신고 결과 받기 (0) | 2023.08.18 |
프로그래머스 AI 종합 분석 결과(feat. [파이썬] 바탕화면 정리 - 코딩테스트 연습) (2) | 2023.07.31 |