★[python_파이썬_2022 KAKAO TECH INTERNSHIP]프로그래머스_LV1_성격 유형 검사하기_풀이

2024. 5. 29. 21:21코드리뷰

728x90
반응형

공부하는허딩크 : https://www.youtube.com/live/97oxxfAIxnU?feature=shared

 

문제가 길다. 일단 이러면 읽기가 싫어진다. 그래도 풀어야 하니까 천천히 메모를 하면서 읽어보자.

주의할 점은 예시랑 조건이랑 차이가 있으니 이걸 잘 캐치해야한다.

 

<첫번째 시도 : 통과>

문제만 길지 실제로 어려운 코드는 없다. 조건을 잘 보고 매칭하면 된다.

주희할 점은 최종 return의 기준은 final의 문자로 점수를 비교해서 문자를 가져와야 한다.

def solution(survey, choices):
    answer = ''
    char = {'R' : 0, 'T' : 0, 'C' : 0, 'F' : 0, 'J' : 0, 'M' : 0, 'A' : 0, 'N' : 0}
    final = ["RT", "CF", "JM", "AN"]
   
    for i in range(len(survey)):
        if choices[i] < 4:
            if choices[i] == 1:
                char[survey[i][0]] += 3
            elif choices[i] == 2:
                char[survey[i][0]] += 2
            else:
                char[survey[i][0]] += 1
        elif choices[i] > 4:
            if choices[i] == 7:
                char[survey[i][1]] += 3
            elif choices[i] == 6:
                char[survey[i][1]] += 2
            else:
                char[survey[i][1]] += 1

    for i, j in final:
        if char[i] == char[j]:
            answer += min(i, j)
        elif char[i] > char[j]:
            answer += i
        else:
            answer += j
           
    return answer
728x90
반응형