반응형
프로그래머스 LV1 > 연습문제 > 옹알이2
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/133499
[문제해결]
1. 말할수있는것의 반복이 존재하면 제외시킨다.
2. 말할수있는것을 다른값으로 치환하면서 반복수행한다. (검증하기 편하게 빈값(' ')으로 치환했다)
3. 루프를 빠져나온 최종값이 빈값이면 카운트.
** 중간값부터 제거되어 말할수있는 단어가 만들어지는 상황을 주의한다.
while(여기에 들어가는값을 자꾸 false로 넣어서) 무한루프에 빠졌는데, true이면 수행이다.
while에서 참조하는값은 계속 바뀌는 값이여야한다. 단순 인덱스를 참조하는것이 아니라면, while문 내에서 원본(참조값)을 수정하는 작업이 필요하다.
다시 짚고넘어가는 while문..
while(조건이 참이면){
//실행
}
코드
function solution(babbling) {
const speak = ["aya", "ye", "woo", "ma"]
let count = 0;
for(let i = 0; i < babbling.length; i++){ // babbling 하나씩 실행
let str = babbling[i]
speak.forEach(el =>{ // 말할수있는것을 찾는과정
let double = el+el;
if(babbling[i].indexOf(double) == -1){
while(str.indexOf(el) !== -1){ // 말할수있는게 없을때까지 실행
str = str.replace(el, ' ');
}
}
})
console.log(str.trim())
if(str.trim() == '') count++
}
return count
}
반응형
'[IT] 프로덕트 개발 > Coding Test - 코딩테스트' 카테고리의 다른 글
[LV1] 문자열 내 마음대로 정렬하기 (0) | 2022.11.21 |
---|---|
[LV1] 기사단원의 무기 (0) | 2022.11.21 |
[LV1] 콜라 문제 / 수학적 계산이 전부인 while() (0) | 2022.11.15 |
[LV1] 삼총사 / 3중 for문 (0) | 2022.11.13 |
[LV1] 햄버거 만들기 / 배열에서 특정 인덱스 제거하기 splice() (0) | 2022.11.13 |