본문 바로가기
Algorithm/구현

[프로그래머스 lv 1] 성격 유형 검사

by HANNI하니 2023. 5. 12.

사용 언어 - Python3

문제 - 성격 유형 검사

 

프로그래머스

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

programmers.co.kr

 

정답

딕셔너리 단순 구현 (정답 맞춘 여부 X)

딕셔너리 dic 활용하여 각 알파벳별 점수 저장하기

c>4, 두번째 알파벳의 숫자에 c-4를 추가한다. (5,6,7번째=>숫자1,2,3 추가)

c<4, 첫번째 알파벳의 숫자에 4-c를 추가한다. (1,2,3번째=>숫자3,2,1 추가)

dic.items()를 list로 저장한다. (R,1)의 형태

인덱스 0,1 / 2,3 / 4,5 ... 두개씩 비교하면서 더 큰 성격유형 str을 answer에 추가해준다.

def solution(survey, choices):
    answer = ''
    dic = {"R":0, "T":0, "C":0, "F":0, "J":0, "M":0, "A":0, "N":0}
    
    for s,c in zip(survey, choices):
        if c > 4: dic[s[1]] += c-4
        elif c < 4: dic[s[0]] += 4-c
    
    li = list(dic.items()) #(key,value) list로 저장
    print(li)
    
    for i in range(0,8,2):
        if li[i][1] < li[i+1][1]:
            answer += li[i+1][0]
        else:
            answer += li[i][0]
    
    return answer

 

 

레퍼런스

  • 정답 깃허브
 

GitHub - yyeongeun/codingtest: 코딩테스트 공부

코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.

github.com

 

댓글