2020.코딩일지
[JS][코플릿]Algorithm Basic-18_numberSearch 본문
728x90
문자열을 입력받아 문자열에서 숫자를 모두 찾아 더한 뒤에 해당 값을 (숫자와 공백을 제외한 나머지) 문자열의 길이로 나눈 값을 정수로 반올림하여 리턴해야 합니다.
입출력예시
더보기
//입출력예시
let output = numberSearch('Hello6 ');
console.log(output); // --> 1
output = numberSearch('Hello6 9World 2,');
console.log(output); // --> 2
output = numberSearch('Hello6 9World 2, Nic8e D7ay!');
console.log(output); // --> 2
👻
function numberSearch(str) {
const digits = '0123456789';
if (str === '') {
return 0;
}
let sum = 0;
let pureStr = '';
for (let i = 0; i < str.length; i++) {
if (digits.includes(str[i])) { // true 숫자인 경우
sum += Number(str[i]);
} else if (str[i] !== ' ') { // 숫자도 공백도 아닌 경우
pureStr += str[i];
}
}
// 결과를 반올림 한다.
return Math.round(sum / pureStr.length);
}
.includes()는 문자열에 특정문자열을 포함하는지 불값으로 확인하는 메서드.
arr.includes(valueToFind [, fromIndex])
valueToFind : 검색할 문자열로 필수 요소. 대소문자를 구분한다.
fromIndex : 검색을 시작할 인덱스 (없으면 전체 문제열을 대상으로)
else if(str[i] !== ' ')로 두번째 조건 걸기.
첫번째 조건에 숫자인걸 골라냈으니까
두번째 조건에 (숫자도아니고) 공백도 아닌걸 골라낼 수 있다.
Math.round() 반올림
let a = Math.round(2.60); //3
let b = Math.round(2.50); //3
let c = Math.round(2.49); //2
let d = Math.round(-2.60); //-3
let e = Math.round(-2.50); //-2
let f = Math.round(-2.49); //-2
'algorithm' 카테고리의 다른 글
[JS][코플릿]Algorithm Basic-20_compressString (0) | 2022.08.16 |
---|---|
[JS][코플릿]Algorithm Basic-19_decryptCaesarcipher (0) | 2022.08.14 |
[JS][코플릿]Algorithm Basic-16_isIsogram (0) | 2022.08.14 |
[JS][코플릿]Algorithm Basic-17_computeSquareRoot (0) | 2022.08.14 |
[JS][코플릿]Algorithm Basic-15_modulo (0) | 2022.08.07 |
Comments