프로그래머스 풀이/level0

[Programmers] level 0) 문제 '특정 문자 제거하기' 풀이

진기명기 2023. 2. 24. 19:41
🫠 Programmers (level 0) 
👉🏻 문제 10번 (특정 문자 제거하기) : 배열 my_string에서 letter값을 제거하기

 

 


function solution(my_string, letter){

  // indexof 풀이로 할 경우, 대문자 B가 한개만 삭제됨
  
  // indexof를 이용해서 letter이 몇번째 자리에 있는지 구하기
  let res = my_string.indexOf(letter)

  // 배열로 변경해주기
  let arr = my_string.split('')

  // splice를 이용해서 letter 요소 삭제하기
  arr.splice(res, 1)  
  
  // 다시 문자열로 바꿔주기
  return arr.join('')
}

let str = "abcdef"
let str2 ="BCBdbe"
console.log(solution(str, "f")) // abcde
console.log(solution(str2, "B")) // CBdbe

 

✅ indexof를 이용해서 문제를 풀 경우, str2의 B를 제거하는데 B 한 개만 제거가 되는 문제가 발생했다.

 

 


function solution(my_string, letter){

  // 아래 풀이로 할 경우 (9/10)점
  
  // split사용해서 배열로 변경 
  let arr = my_string.split('')
  
  arr.map((item,index) => {
    if(item === letter){
      arr.splice(index, 1)
    }
  })
  
  return arr.join('')
}

let str = "abcdef"
let str2 ="BCBdbe"
console.log(solution(str, "f")) // abcde
console.log(solution(str2, "B")) // Cdbe

 

🫠 값은 원하는대로 letter 값이 배열에서 제거되었는데, -1점을 받았다. 원인을 찾지 못했다.. 대체 왜일까..