알고리즘
2022 kakao tech internship > 성격 유형 검사하기
kwonpinky
2024. 3. 18. 01:54
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/118666
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[나의코드]
function solution(survey,choices){
let map=new Map()
let types=["R","T","C","F","J","M","A","N"]
for(let i=0;i<types.length;i++){
let indicator=types[i]
map.set(indicator,0)
}
for(let i=0;i<survey.length;i++){
let [a,b]=survey[i].split("")
let choice=choices[i]
switch (choice){
case 1 : map.set(a,map.get(a)+3)
break;
case 2 : map.set(a,map.get(a)+2)
break;
case 3 : map.set(a,map.get(a)+1)
break;
case 4 :
break;
case 5 : map.set(b,map.get(b)+1)
break;
case 6 : map.set(b,map.get(b)+2)
break;
case 7 : map.set(b,map.get(b)+3)
break;
default:
}
}
let array=[...map]
let temp=[]
for(let i=0;i<array.length;i=i+2){
let first=array[i][1]
let second=array[i+1][1]
if(first>second){
temp.push(array[i][0])
}else if(first===second){
if(array[i][0].charCodeAt()<array[i+1][0].charCodeAt()){
temp.push(array[i][0])
}else{
temp.push(array[i+1][0])
}
}else{
temp.push(array[i+1][0])
}
}
return temp.join("")
}728x90