문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
(1) skill_trees를 순회하면서 각 요소마다 skill에 있는 알파벳을 제외하고는 모두 지운다.
(2) 필터로 반환된 배열과 skill의 length를 똑같이 맞추고 같은 값이면 answer를 1씩 늘린다.
function solution(skill, skill_trees) {
const skillArr = skill.split("");
let answer = 0;
skill_trees.forEach(skill => {
const compareSkill = [...skillArr];
const filteredSkills = skill.split("").filter(data => skillArr.includes(data));
compareSkill.length = filteredSkills.length;
if (compareSkill.toString() === filteredSkills.toString()) {
answer++;
}
})
return answer;
}
결론
프로그래머스 Level 2의 문제이다.
선행스킬에 없는 다른 스킬은 비교할 필요가 없으므로 제외시키고, 그 후 선행스킬과 같은지 비교하였다.
값이 다르면 선행스킬을 따르지 않았다는 의미가 된다.
'코딩테스트' 카테고리의 다른 글
[백준] 콘테스트 (JS) (0) | 2024.09.18 |
---|---|
[프로그래머스] 동영상 재생기 (JS) (0) | 2024.09.16 |
[프로그래머스] 외계어 사전 (JS) (0) | 2024.09.04 |
[프로그래머스] 전화번호 목록 (JS) (0) | 2024.08.30 |
[프로그래머스] 호텔 대실 (JS) (0) | 2024.08.29 |