1. 1 ~ 10,000의 숫자 중 8이 등장하는 횟수 구하기 (Google)
1부터 10,000까지 8이라는 숫자가 총 몇 번 나오는가? 이를 구하는 함수를 완성하라.
단, 8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다. 예를 들어 8808은 3, 8888은 4로 카운팅 해야 한다.
(hint) 문자열 중 n번째에 있는 문자 : str.charAt(n) or str[n]
function getCount8() {
let str = '';
let result = 0;
for (let i = 1; i <= 10000; i++) str += i;
for (let j = 0; j < str.length; j++) {
if (str[j] === '8') ++result;
}
return result;
}
console.log(getCount8()); // 4000
2. 이상한 문자 만들기
toWeirdCase함수는 문자열을 인수로 전달받는다. 문자열 s에 각 단어의 짝수번째 인덱스 문자는 대문자로, 홀수번째 인덱스 문자는 소문자로 바꾼 문자열을 리턴하도록 함수를 완성하라.
예를 들어 s가 ‘hello world’라면 첫 번째 단어는 ‘HeLlO’, 두 번째 단어는 ‘WoRlD’로 바꿔 ‘HeLlO WoRlD’를 리턴한다.
주의) 문자열 전체의 짝/홀수 인덱스가 아니라 단어(공백을 기준)별로 짝/홀수 인덱스를 판단한다.
function toWeirdCase(s) {
let result = '';
let count = 0;
for (let i = 0; i < s.length; i++) {
result += count % 2 === 0
? s[i].toUpperCase() : s[i].toLowerCase();
count = s[i] === ' ' ? 0 : ++count;
}
return result;
}
console.log(toWeirdCase('hello world')); // 'HeLlO WoRlD'
console.log(toWeirdCase('my name is lee')); // 'My NaMe Is LeE'
'JAVASCRIPT > 자바스크립트 알고리즘' 카테고리의 다른 글
자바스크립트 '문자열 내 p와 y의 개수' (0) | 2020.10.23 |
---|---|
자바스크립트 '문자열 다루기' (0) | 2020.10.23 |
자바스크립트 '1 ~ 10,000의 숫자 중 8이 등장하는 횟수 구하기 (Google)' (0) | 2020.10.23 |
자바스크립트 '짝수와 홀수' (0) | 2020.10.23 |
자료구조와 알고리즘 (정렬) (2) (0) | 2020.10.08 |