728x90
코딩테스트 연습 - 성격 유형 검사하기 | 프로그래머스 스쿨 (programmers.co.kr)
이번 문제는 무려 카카오 인턴 시험에 나온 문제이다. 매우 문제가 길지만 풀어보도록 하자.
def solution(survey, choices):
answer = ''
dic = {"R":0, "T":0, "C":0, "F":0, "J":0, "M":0, "A":0, "N":0}
# RT, CF, JM, AN으로 묶을 것
for surv, choi in zip(survey, choices):
if choi>4: dic[surv[1]] += choi-4
elif choi<4: dic[surv[0]] += 4-choi
#유형의 survey들을 모두 계산
re = list(dic.items())
#조사 결과 값들의 최종 합계 ex) R = 1, T = -1
for i in range(0,8,2):
if [i][1] >= [i+1][1]:
answer += [i][0]
else:
answer += re[i+1][0]
# 조사를 계산한 것을 토대로 더 큰 숫자의 유형을 뽑는 함수
return answer
survey와 choices를 함께 묶을 방법을 몰랐는데 기웅님이 zip함수 라는 것을 알려주셨다!
덕분에 zip 함수에 대해서 공부도 하고 좋았다. 내일쯤 zip 함수 공부한 것도 쓸 것이다!
써야 하는 것이 밀렸는데 몸 컨디션이 너무 좋지 않아서 조금만 미룬다..
'cording test' 카테고리의 다른 글
Lv.1 두 정수 사이의 합 (2) | 2023.04.18 |
---|---|
LV.1 없는 숫자 더하기 (0) | 2023.04.18 |
LV.1 문자열 내 마음대로 정렬하기 (0) | 2023.04.07 |
LV.0 가위바위보 (0) | 2023.04.07 |
LV.0 로그인 성공 (0) | 2023.04.05 |