프로그래머스 기출문제에 있는 2022 KAKAO TECH INTERNSHIP 문제를 정리해 보고자 한다.
레벨 : 1
프로그래머스-코딩테스트 연습
느낀점: 일단 처음봤을때 부터 엄청 어려워 보인건 아니었고 덕분에 카카오 코딩테스트라도 자신감을 가지고 문제를 풀어볼 수 있게 해준 문제였다.
나의 풀이
def solution(survey, choices): answer = '' # 각 성격 들의 점수를 담을 수 있는 딕셔너리 personality = {'R': 0, 'T': 0, 'C': 0, 'F': 0, 'J': 0, 'M': 0, 'A': 0, 'N': 0} # 질문과 답볍의 수 n = len(choices) # 질문 별로 점수를 책정하여 딕셔너리에 저장하기 for i in range(n): if choices[i] <= 4: personality[survey[i][0]] += (4 - choices[i]) else: personality[survey[i][1]] += (choices[i] - 4) # 키를 슬라이싱 하기 위해서 리스트로 변환 person_key = list(personality.keys()) # 리스트를 2씩 보면서 i 와 i+1 비교 후 큰쪽 Answer에 넣기 for i in range(0, len(person_key),2): if personality[person_key[i]] >= personality[person_key[i+1]]: answer += person_key[i] else: answer += person_key[i+1] return answer
먼저 각자 짝이 지어지는 (R,T), (C,F), (J,M), (A,N) 이 네가지 철자중 점수가 높은걸 고르거나 같은 점수면 알파벳 순으로 빠른걸 고르는 문제 였어서 간단했다. 조금더 쉽고 간단 하게 할 수도 있었을거 같은데 다음에는 좀더 간단하게 풀 수 있게 고민해 봐야 겠다.