cording test

LV.1 성격 유형 검사하기

JM Lee 2023. 4. 17. 21:32
728x90

코딩테스트 연습 - 성격 유형 검사하기 | 프로그래머스 스쿨 (programmers.co.kr)

 

이번 문제는 무려 카카오 인턴 시험에 나온 문제이다. 매우 문제가 길지만 풀어보도록 하자.

 

프로그래머스

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

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