[프로그래머스] 외계어 사전.JS

ungnam·2023년 6월 7일

programmers level0

목록 보기
19/29
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/120868

나의 풀이

function solution(spell, dic) {
    return dic.find(
      (v) => spell.filter(
        (sp) => v.includes(sp)).length === spell.length)
      ? 1 : 2;
}

spell의 각 원소를 돌면서 dic의 각 요소가 spell을 모두 포함하고 있다면 true
true인 경우가 한 번이라도 있다면 1, 그렇지 않으면 2를 반환
spell의 원소를 한번씩만 사용해야 한다는 조건을 고려하지 못함

참고할 만한 풀이

function solution(spell, dic) {
	return dic.filter(
      (v) => spell.every(
        (c) => v.includes(c) && v.indexOf(c) === v.lastIndexOf(c))).length 
      ? 1 : 2;
}

every() -> dic의 요소가 spell을 모두 포함하고, spell의 각 원소가 dic의 요소에 한 번씩만 사용되는 경우 true를 반환
indexOflastIndexOf의 활용으로 한 번씩만 사용되는지의 여부를 확인할 수 있다.

profile
꾸준함을 잃지 말자.

0개의 댓글