문제
str에 'viagra’나 'XXX’라는 문자열이 있으면 true를 반환해주는 함수 checkSpam(str)을 만들어보세요. 해당 문자열이 없으면 false를 반환하면 됩니다.
함수는 대·소문자 관계없이 해당 단어를 걸러주어야 합니다.
checkSpam('buy ViAgRA now') == true
checkSpam('free xxxxx') == true
checkSpam("innocent rabbit") == false
나의 풀이
function checkSpam(str) {
let upperStr = str.toUpperCase();
return (
upperStr.includes("viagra".toUpperCase()) ||
upperStr.includes("XXX".toUpperCase())
);
}
alert(checkSpam("buy ViAgRA now"));
str.includes()
메소드는 대소문자를 구별하므로 인자 문자열들을 모두 대문자 or 소문자로 바꿔주는 과정이 필요하다.
나는 대문자를 선택했지만 소문자여도 상관없다.
해답
function checkSpam(str) {
let lowerStr = str.toLowerCase();
return lowerStr.includes('viagra') || lowerStr.includes('xxx');
}
alert( checkSpam('buy ViAgRA now') );
해답은 아예 검색어를 소문자로 바꿔서 썼는데, 나의 풀이가 더 유연한 답이 될 것 같다.
참고
https://ko.javascript.info/string
'Programming > Client' 카테고리의 다른 글
[Javascript] 입력한 숫자의 합 구하는 함수 (0) | 2022.03.17 |
---|---|
[Javascript] 문자열 줄이기 함수 (0) | 2022.03.16 |
[Javascript] 문자열의 첫글자만 대문자로 변경 후, 출력 (0) | 2022.03.16 |
[Javascript] 유효한 숫자를 입력할 때까지 반복하는 함수 (0) | 2022.03.15 |
[Javascript] 메서드 호출 체이닝 구조 만들기 (0) | 2022.03.08 |