문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
공식 해설
2022 테크 여름인턴십 코딩테스트 해설
2022년 카카오 여름 인턴십 코딩 테스트가 지난 5월 7일에 5시간에 걸쳐 진행되었습니다. 시간이 부족하여 문제를 풀지 못하는 아쉬움이 없도록 1시간을 늘려 테스트를 진행한 것이 작년과 조금
tech.kakao.com
내 풀이
Map에 유형별 점수를 저장합니다. choices 배열에 대해 forEach 고차함수로 순회하면서 유형에 대한 점수를 더해나갑니다.
유형(type)의 경우 4 미만이면 첫 번째 문자를, 4 초과이면 두 번째 문자를 값으로 정합니다.
점수(score)의 경우 주어진 조건에 따라 1, 2, 3점을 부여했습니다.
solution의 내부에 setIndex() 함수를 정의했는데, 맵에 저장된 유형별 점수를 비교해서 각 지표별 유형을 선택하는 역할을 합니다.
사전순으로 빠른 것을 선택하므로 임의로 인자를 사전순으로 넘겨줬습니다. 만약 함수 내부에서 판단해야 한다면 [a, b].sort()[0]처럼 정렬을 하거나 유니코드로 변환해서 비교할 수 있을 것 같습니다.
'컴퓨터과학(CS)' 카테고리의 다른 글
[구름/JavaScript] 알고리즘 먼데이 챌린지 3주차 (0) | 2022.10.30 |
---|---|
[구름/JavaScript] 알고리즘 먼데이 챌린지 2주차 (0) | 2022.10.17 |
[구름/JavaScript] 알고리즘 먼데이 챌린지 1주차 (0) | 2022.10.10 |
[프로그래머스/JavaScript] 신고 결과 받기 (1) | 2022.09.21 |