[프로그래머스] 코딩테스트 Lv1 2023 카카오 - 성격 유형 검사하기 [Python]

원준·2023년 5월 3일
0

코딩 테스트

목록 보기
16/18

1. 문제 설명


2. 내가 한 코드

def solution(survey, choices):
    answer = ''

	# 각각의 점수를 매기기 위해 객체화 시켯다.
    # 항목별 알파벳 순으로 놔뒀다.
    socres = {
        'R' : 0,
        'T' : 0,
        'C' : 0,
        'F' : 0,
        'J' : 0,
        'M' : 0,
        'A' : 0,
        'N' : 0
    }

    for i in range(len(survey)): # 점수 유형에 따른 개수를 정하고
        if choices[i] > 4: # 해당 번째의 점수가 4점 초과이면 유형 중 2번째에게 점수를 준다.
            socres[survey[i][1]] += choices[i] - 4
        elif choices[i] < 4: # 해당 번째 점수가 4점 미만이면 유형 중 1번째에게 점수를 준다.
            socres[survey[i][0]] += 4 - choices[i]
            # 점수가 4점일경우 아무것도 하지 않는다.

    socres = list(socres.items()) # 만들어진 객체를 list로 만든 후
    for i in range(0, len(socres), 2): # 1~4항목을 비교하기위해 2씩 증가시킨다.
        if socres[i][1] < socres[i+1][1]: # 해당 항목 중 뒤쪽이 높다면 뒤쪽이 나온다.
            answer += socres[i+1][0]
        else : # 똑같거나 앞쪽이 높다면 앞쪽이 나온다.
            answer += socres[i][0]
            
    return answer

3. 느낀 점

  • 생각보다 어렵지는 않았다.
  • 다른 사람 풀이를 봤을때 객체를 조금 다르게 사용하거나 항목을 비교할때 조금씩 다르긴 했지만 크게 다르지 않아서 나쁘지 않았다.
profile
공부해보자

0개의 댓글