반응형
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
- 주식
- 주식 분석
- java
- 파이썬
- 경제뉴스
- 코딩테스트
- 이진우
- 급등주 분석
- Python
- 이진우의 손에 잡히는 경제
- 경제
- 손에 잡히는 경제 요약
- 상한가 분석
- 경제뉴스 요약
- 손경제 요약
- 급등 이유
- boj
- 테마주
- 손에 잡히는 경제
- 프로그래머스
- 급등주
- 알고리즘
- Programmers
- 백준
- 상한가
- 손경제
- 주식 상한가
- 코테
- 상한가 이유
- 자바
Archives
- Today
- Total
Completion over Perfection
프로그래머스 - 성격 유형 검사하기 (파이썬3 Python3) 본문
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/118666
MBTI 검사지처럼 질문에 따라 동의 미동의에 가산점을 메기고
가장 높은 점수가 나오는 성격유형을 출력해주는 문제입니다.
제가 코드 짜면서 고생했던 부분은
마지막에 4개의 지표에서 2개 중 하나의 유형만 뽑아서 4개의 글자를 만들어줘야 하는데요,
같은 지표에서 가장 높은점수가 2개 이상 나왔을 경우에는
제일 큰 점수를 받은 글자만 채택하고 나머지 숫자는 점수가 높더라도 제외해야한다는 점이었습니다.
두번째 예시를 보면
survey 값으로 ["TR", "RT", "TR"] 이 들어오고 choices 값으로 [7, 1, 3]이 들어오게 되는데
T와 R은 1번 지표에 같이 있는 글자들이라서 두 글자중 한글자는 버려야된다는 점이죠.
이 부분만 주의해서 풀어주시면 됩니다.
def solution(survey, choices):
answer = ''
scoreBoard = {'R':0, 'T':0, 'C':0, 'F':0, 'J':0, 'M':0, 'A':0, 'N':0}
sortType = [['R','T'],['C','F'],['J','M'],['A','N']]
for i in range(len(survey)):
survey[i] = list(survey[i])
disagree = survey[i][0]
agree = survey[i][1]
choice = choices[i]
if choice < 4 :
scoreBoard[disagree] += 4 - choice
elif choice > 4:
scoreBoard[agree] += choice - 4
for i in range(4): # 지표는 4개이므로 4번을 돌면서 한글자씩 채워줄 것
idx = sortType[i] # [R, T]
if scoreBoard[idx[0]] >= scoreBoard[idx[1]]:
answer += idx[0]
else:
answer += idx[1]
return answer
반응형
'파이썬 (Python)' 카테고리의 다른 글
프로그래머스 - 최솟값 만들기 (파이썬3 Python3) (0) | 2023.09.05 |
---|---|
프로그래머스 - 바탕화면 정리 (파이썬3 Python3) (0) | 2023.09.04 |
프로그래머스 - 공원 산책 (파이썬3 Python3) (0) | 2023.09.02 |
프로그래머스 - 개인정보 수집 유효기간 (파이썬3 Python3) (0) | 2023.09.01 |
프로그래머스 - 자연수 뒤집어 배열로 만들기 (파이썬3 Python3) (0) | 2023.08.31 |
Comments