[Leetcode] 1832. Check if the Sentence Is Pangram (JS)

OROSY·2021년 4월 30일
0

Algorithms

목록 보기
15/38
post-thumbnail

출처

1832. Check if the Sentence Is Pangram

문제

나의 코드

이 문제는 input의 길이가 중복을 제외하고 알파벳의 개수인 26개인지로 쉽게 접근할 수 있었다. 다만, 여기서 문제는 중복을 제외한 데이터를 뽑아내는 것이 쉽지 않았다. 처음에는 배열로 넣으면 되지 않을까했지만, 역시 배열은 중복이 제거가 되지 않았다는..

그래서 array delete duplicates javascript 라는 키워드로 검색하니 떡 하니 나오는 Set!!

Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있습니다. Set 객체는 값 콜렉션으로, 삽입 순서대로 요소를 순회할 수 있습니다. 하나의 Set 내 값은 한 번만 나타날 수 있습니다. 즉, 어떤 값은 그 Set 콜렉션 내에서 유일합니다.

역시나 굉장히 어렵게 설명하는 MDN이지만, 결국 Set은 객체 데이터로 값이 들어가는 순서대로 중복을 제외하고 입력이 된다는 의미이다. 그리고 여기서 사용한 속성은 Set.prototype.size이고, 이는 Set 객체 내 값의 개수를 반환하는 속성이다. 그래서 나온 코드가 바로 이것!

1
2
3
4
var checkIfPangram = function(sentence) {
    const newSet = new Set([...sentence])
    return newSet.size === 26 ? true : false
}
cs

실행 결과

profile
Life is a matter of a direction not a speed.

0개의 댓글