이 코드는 문자열을 받아 모음없이 문자열을 반환하고 반환합니다. 아래 출력에서 볼 수 있듯이 첫 번째 Coding이 나를 미치게 만들고 e가없는 두 번째 코드를 반환하기 때문에 작동합니다.
function removeVowelFromString(string) {
let newCharactersArray = [];
charactersArray = string.split('');
let vowels = ['a','e','i','o','u'];
for (const vowel of vowels) {
for (let i = 0; i < charactersArray.length; i++) {
if (vowel === charactersArray[i]) {
continue;
}
else {
newCharactersArray.push(charactersArray[i]);
}
}
}
return newCharactersArray.join('');
}
console.log(removeVowelFromString('Coding is driving me crazy '));
// 한 줄로 출력 // 코딩이 나를 미치게 만든다. 코딩이 나를 미치게 만든다. Codng s drvng 나를 미치게한다. Cding이 나를 미치게 만든다. 코딩이 나를 미치게 만든다.
댓글 중 하나에서 제안한대로. isVowel()
함수 를 생성하여 문제 를 분석하고 문자열의 모든 문자를 한 번만 반복하여 주어진 문자가 모음인지 확인합니다.
function isVowel(c) {
return ['a','e','i','o','u'].includes(c);
};
function removeVowelFromString(string) {
let newCharactersArray = [];
charactersArray = string.split('');
for (let i = 0; i < charactersArray.length; i++) {
if (isVowel(charactersArray[i])) {
continue;
}
else {
newCharactersArray.push(charactersArray[i]);
}
}
return newCharactersArray.join('');
}
console.log(removeVowelFromString('Coding is driving me crazy '));
이 코드는 O(n * k)
시간 복잡도로 실행됩니다. 여기서은 n
문자열의 길이이고 k
영어 모음의 수입니다 (즉, 5
. 따라서 전체 복잡도는 O(5n)
= O(5)
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다