본문 바로가기

개발 일기

[Javascript] whale talk loop

const input = 'turpentine and turtles';
const vowels = ['a', 'e', 'i', 'o', 'u'];
const resultArray = [];

for(let i = 0; i < input.length; i++) {
    for(let j = 0; j < vowels.length; j++) {
        if(input[i] === vowels[j]) {
            if(input [i] === 'u' || input [i] === 'e') {
                resultArray.push(input[i]);
            }
            resultArray.push(input[i]);
        }
    }
}

console.log(resultArray);

짜면서 구현이 어려웠던 부분은 어떻게 E와 U만 더블링시킬 것인지였다. 

 

루프가 돌 때 e나 u가 포함되어 있으면 ,push()를 한 번 더 해 줘야 하는데 이 부분이 좀 고민됐던,,,

 

그럼 for loop 안에 e나 u가 있다는 가정이 한 번 더 들어 있고, 이 경우 push로 resultarray에 한번 추가해 주고 그 뒤에 다시 돌면서 같으면 한 번 더 추가해 줄 테니 e와 u만 두 번이 될 것 같아서 이대로 짰다

 

그랬더니 됨; 왜 됨????ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

아무튼 되어서 기쁘고 정답이랑 비교해 봤을 때도 내 코드가 더 깔끔해서 더 기쁘다(정답 코드는 ||을 사용하지 않고 따로 걸어 줬더라)

 

이렇게 얻어 걸릴 때도 있구나ㅎㅎ

 

오늘도 불태워 봐야지