본문 바로가기
Develop

오늘의 문제 1) 성격 유형 검사하기

by hyemjjang 2024. 4. 1.

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

 

프로그래머스

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

programmers.co.kr

 

def solution(survey, choices):
    n = len(survey)
    ty = ['R', 'T', 'C', 'F', 'J', 'M', 'A','N'] 
    ty_idx = [0]*9
    
    for i in range(n):
        if choices[i] > 4:
            idx = ty.index(survey[i][1])
            ty_idx[idx+1] += (choices[i]-4)
        
        elif choices[i] == 3:
            idx = ty.index(survey[i][0])
            ty_idx[idx+1] += (choices[i]-2)
        elif choices[i] == 2:
            idx = ty.index(survey[i][0])
            ty_idx[idx+1] += choices[i]
        elif choices[i] == 1:
            idx = ty.index(survey[i][0])
            ty_idx[idx+1] += choices[i]+2
            
    answer = ''
    if ty_idx[1] >= ty_idx[2]:
        answer+=ty[0]
    else: 
        answer+=ty[1]
        
    if ty_idx[3] >= ty_idx[4]:
        answer+=ty[2]
    else: 
        answer+=ty[3]
        
    if ty_idx[5] >= ty_idx[6]:
        answer+=ty[4]
    else: 
        answer+=ty[5]
        
    if ty_idx[7] >= ty_idx[8]:
        answer+=ty[6]
    else: 
        answer+=ty[7]
        
    return answer

 

문제 유형이 4개로 고정되어 있을 때만 유효한 풀이법이다

아무래도 딕셔너리 사용을 생활화해야지 자꾸 안써버릇하니 비효율적인듯하다

 

'Develop' 카테고리의 다른 글

오늘의 문제 2) 귤 고르기 - 푸는 중(런타임 에러)  (1) 2024.04.01
1. BFS  (0) 2024.03.25
DFS BFS 내맘대로 풀어보기 (BOJ 1260)  (1) 2024.03.23