Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 알고리즘
- 추천시스템
- 백준
- 코딩테스트
- 머신러닝
- wordcloud
- 시각화
- Overfitting
- 분산 시스템
- 파이썬
- 웹스크래핑
- TF-IDF
- 추천 시스템
- 프로그래머스
- codingtest
- 딥러닝
- 협업 필터링
- recommendation system
- 코테
- 데이터 엔지니어링
- 데이터
- Python
- coursera
- 웹크롤링
- pytorch
- 부스트캠프
- SGD
- selenium
- Cosine-similarity
- Tensor
Archives
- Today
- Total
개발자식
[프로그래머스] 성격 유형 검사하기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/118666
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 풀이
문제 그대로를 풀이로 풀어나갔다
- 선택지 점수에 대한 딕셔너리, 지표 번호에 대한 성격 유형 딕셔너리, 성격 유형별 점수 딕셔너리를 만든다
- survey를 반복문으로 돌면서 해당 인덱스의 choice가 4 미만이면 해당 성격 유형에 비동의 점수를 더해준다.
- 4 이상이면 해당 성격 유형에 동의 점수를 더해준다.
-> 이 과정 좀 더 깔끔하게 가능할 듯
- 지표 번호에 대한 성격 유형 딕셔너리를 순회하면서 지표별로 성격 유형별 점수 딕셔너리에 대한 점수 값이 큰 성격 유형을 answer에 더해준다.
-> 알파벳 순은 딕셔너리에 저장할 때 알파벳 순으로 저장하여 따로 처리 x
def solution(survey, choices):
answer = ''
score = {1 : 3, 2:2,3:1,4:0,5:1,6:2,7:3}
q = {1:["R","T"],2:["C","F"],3:["J","M"],4:["A","N"]}
me = {'R':0,'T':0,'C':0,'F':0,'J':0,'M':0,'A':0,'N':0}
for i in range(len(survey)):
if choices[i] < 4:
me[survey[i][0]] += score[choices[i]]
else:
me[survey[i][1]] += score[choices[i]]
for key, value in q.items():
if me[value[0]] >= me[value[1]]:
answer+=value[0]
else:
answer+=value[1]
return answer
다른 풀이
- 풀이 방식은 똑같은데 딕셔너리 선언을 좀 더 간결화했다.
from collections import defaultdict
def solution(survey, choices):
indicator = [('R', 'T'), ('C', 'F'), ('J', 'M'), ('A', 'N')]
answer = ''
personality = defaultdict(int)
for s, c in zip(survey, choices):
if c < 4:
personality[s[0]] += (4 - c)
elif c > 4:
personality[s[1]] += (c - 4)
for i in indicator:
if personality[i[0]] >= personality[i[1]]:
answer += i[0]
else:
answer += i[1]
return answer
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 완주하지 못한 선수 (0) | 2022.08.22 |
---|---|
[프로그래머스] 키패드 누르기 (0) | 2022.08.22 |
[프로그래머스] 여행 경로 (0) | 2022.08.20 |
[프로그래머스] 실전 모의고사 (1) (0) | 2022.08.19 |
[프로그래머스] 실패율 (0) | 2022.08.18 |
Comments