본문 바로가기
프로그래머스/1단계

(Python/LV1) 성격 유형 검사하기

by windy7271 2022. 9. 16.
728x90
반응형

문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/118666

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이:

def solution(survey, choices):
    answer =''
    choice = {'R' : 0, 'T' : 0, 'F' : 0, 'C' : 0, 'M' : 0, 'J' : 0, 'A' : 0, 'N' : 0 }
    for i in range(len(choices)):
        L = survey[i][0]
        R = survey[i][1]	
        # 리스트 자름
        if choices[i] == 4: # 모르겠음 아무 영향없음
            continue
        elif choices[i] < 4: # L 에 영향을줌 
            choice[L] += 4-choices[i]
        else:	# R 에 영향을 줌
            choice[R] += choices[i] -4
    answer += "R" if choice["R"] >= choice["T"] else "T"
    answer += "C" if choice["C"] >= choice["F"] else "F"
    answer += "J" if choice["J"] >= choice["M"] else "M"
    answer += "A" if choice["A"] >= choice["N"] else "N"
    return answer
    
     # choices[i] 가 4 미만 일수록 L 에 값을 영향을줌 (3,1) (2,2)(1,3) == 4-choices[i]
     # 반대도 적용
     # 삼항연산자 사용 (점수 같으면 사전순 이므로 >= 사용)

 

반응형

댓글