- 성격유형검사하기-2022kakao 코테2023년 06월 10일
- 2료일
- 작성자
- 2023.06.10.:34
https://school.programmers.co.kr/learn/courses/30/lessons/118666
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 이해
MBTI와 같이 각각의 항목들을 검사하면서 어디쪽에 더 가깝니? 하는 문제로서 이해에 어려움은 없었다.
예를들어 survey에 ["AN", "CF", "MJ", "RT", "NA"]이 들어오고 choices에 [5,3,2,7,5]가 들어온다면
순차적으로 5는 약한동의이므로 뒤에 있는것에 +1을 해주고 3은 약한비동의이므로 앞에거에 +1해주고 2는 비동의라 앞에꺼에 +2해주고 T는 매우동의라 뒤에꺼에 +3해주고 마지막으로 다시 5도 약한동의라 뒤에꺼에 +1을 해주게 된다.
그리고 나서 1번지표부터 비교를 해주면서 만약 같다면 사전순으로 빠른걸해주고 다르다면 큰것을 각지표별로 나타내주면 된다.
먼저 point라는 배열을 만들어서 choices가 1이면 3점, 2이면2점...7이면3점이기에 맨앞인덱스는 아무 숫자나 넣어놓고 그 뒤부터 해당 점수를 적어두었다.
4를 기준으로 4보다 크다면 뒤에꺼에 더해주기에 if문을 통해 뒤에꺼에 point를 더해주었다.
마지막으로 각지표별로 비교하면서 answer string에 더해주었다.
def solution(survey, choices): answer = "" personaldict = { "R" : 0, "T" : 0, "C" : 0, "F" : 0, "J" : 0, "M" : 0, "A" : 0, "N" : 0 } point = [-100,3,2,1,0,1,2,3] for i in range(len(survey)): if(choices[i]>4): personaldict[survey[i][1]] += point[choices[i]] else: personaldict[survey[i][0]] += point[choices[i]] answer += "R" if personaldict["R"]>=personaldict["T"] else "T" answer += "C" if personaldict["C"]>=personaldict["F"] else "F" answer += "J" if personaldict["J"]>=personaldict["M"] else "M" answer += "A" if personaldict["A"]>=personaldict["N"] else "N" return answer
'알고리즘' 카테고리의 다른 글
등산코스정하기-python(kakao22 season) (0) 2023.06.12 두 큐 합 같게 만들기 - Python으로 풀이 (0) 2023.06.11 2342-Dance(python) (0) 2023.06.04 13904과제-python (0) 2023.06.01 백준 1644- 소수의 연속합(PYTHON) (1) 2023.05.27 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)