본문 바로가기
🔅코딩테스트 공부🔅/❗프로그래머스(Lv.1)

[프로그래머스] Level1 성격 유형 검사하기(python)

by 윤무무 2023. 2. 11.

https://school.programmers.co.kr/learn/courses/30/lessons/118666

 

프로그래머스

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

programmers.co.kr

 

1. 내가 작성한 코드
def solution(survey, c):
    result = ''
    kakao = {"R" : 0, "T" : 0, "C" : 0, "F" : 0, "J" : 0, "M" : 0, "A" : 0, "N" : 0}
    score = {1 : 3, 2 : 2, 3 : 1, 4 : 0, 5 : 1, 6 : 2, 7 : 3}

    for i in range(len(c)):
        j = list(survey[i])
        if c[i] < 4:      
            kakao[j[0]] += score[c[i]] 
        else:
            kakao[j[1]] += score[c[i]]

    if kakao["R"] >= kakao["T"]:
        result += "R"
    else:
        result += "T"

    if kakao["C"] >= kakao["F"]:
        result += "C"
    else:
        result += "F"

    if kakao["J"] >= kakao["M"]:
        result += "J"
    else:
        result += "M"

    if kakao["A"] >= kakao["N"]:
        result += "A"
    else:
        result += "N"

    return result

그동안 카카오 문제들은 시도하기 무서워서 Level1도 건들지 못했었는데

 

처음으로 카카오 문제를 해결했다.

 

그래봤자 효율적이지 않은 코드이긴 하지만, 풀어냈다는 것에 의의를😮

 

 

참고로 score라는 딕셔너리 없이

 

choice 값이 4보다 크면 choice - 4

choice 값이 4보다 작으면 4 - choice 해줘도 된다.

 

 

2. 메모
  • kakao[j[0]] += score[c[i]]  와 같이, 딕셔너리의 value를 바로 갱신해 줄 수 있음
  • dic[KEY] = Value 접근

댓글