문제
문제 링크 : Maximum Number of Words You Can Type
풀이
var canBeTypedWords = function(text, brokenLetters) {
return text.split(' ').reduce((prev, cur) => brokenLetters.split('').some(a => cur.indexOf(a) > -1) ? prev : prev + 1, 0);
};
- text를 배열로 만들어 reduce문을 통해 각각의 문자열들이 brokenLetters의 문자들을 포함하고 있는지 확인하여 return
- Runtime 45 ms, Memory 44.4 MB
다른 풀이
var canBeTypedWords = function(text, brokenLetters) {
let count = 0;
var regex = new RegExp("[" + brokenLetters +"]");
text = text.split(" ");
for(let i = 0; i < text.length; i++){
if(!regex.test(text[i])) count++
}
return count;
};
- 정규식을 이용한 풀이
- Runtime 37 ms, Memory 41.5 MB