[알고리즘] 모음 제거

임수정·2023년 7월 2일
0
post-thumbnail

오늘의 문제

이 문제를 푸는 데 까지..정말 10일 이상의 시간이 걸렸습니다. 뭔가 풀 수 있을 것 같은데..계속 틀리고..거의 다 왔는데..틀리고ㅠㅠ
고민하는데 너무 오랜 시간이 걸린 문제여서 제가 어떻게 풀게 되었는지 공유해드릴려고합니다.

첫번째 해결과정

const solution = (my_string) => {
    const gather = ["a","e","i","o","u"]
    const arr = my_string.split("") 
    const newArr = []
    
    for(let i=0 ;i < gather.length ; i++) {
     arr.filter(x => { 
       if(x !== gather[i]) {
         newArr.push(x) 
       }
    })
}
  return newArr
}

처음에는 for문과 filter()를 사용해서 문제를 해결하려고 했습니다.
근데 코드 실행을 누르면 return값이 여러 번의 반복된 값으로 나오더라구요..
(내가 원하는 건 이게 아닌데ㅠㅠ)

for()를 안 쓰고 map도 써보고 여러 반복 문의 형태를 써봤는데 안되더라구요..
그러다가 생각난 반복문이 forEach()였습니다!(유레카!!)

최종 해결과정

const solution = (my_string) => {
    const gather = ["a","e","i","o","u"]
    const arr = my_string.split("") 
    const result = []
    
    arr.forEach(x => {
      if(!gather.includes(x)) {
        result.push(x)
         }
    })
    
    return result.join("")
}

forEach()를 활용하니 너무 한 번에 해결되서 조금은 허무했습니다..🥲
그래도 이 문제를 풀어보려고 몇 날 며칠을 고민하고 해결한 점은 너무 뿌듯했습니다. 고민을 오랫동안하고 해결한 문제는 문제와 해결 과정에서 쓰인 문법들이 오래 기억된다는 것을 경험하였습니다. 앞으로도 충분한 고민을 하고 문제를 해결하려는 습관을 들여야 될 것 같습니다~

profile
부족함을 인정하고 채워나가는 개발자! (Node.js 개발자)

0개의 댓글