특정 문자 제거하기

김종현·2023년 4월 1일
0

1. 막힌 부분

-반복문과 slice를 통해 letter와 같은 문자일 경우 제거하는 식으로 코드를 짰으나 slice는 문자를 추출하는 함수여서 풀리지 않았다.

2. 막힌 부분의 해결

-약 20분 정도를 다른 방법들로 시도해보았으나 기존의 방법과 크게 다르지 않았기에 특정 문자열을 제거하는 방법을 구글링하였다.

3. 내 풀이

function solution(my_string, letter) {
    var arr = '';
    for(let x of my_string){
       arr += x.replace(letter, '')
    }
    return arr
}

4. 다른 사람의 풀이 중 좋았던 코드 및 분석

function solution(my_string, letter) {
    const answer = my_string.split(letter).join('')
    return answer;
}
  • 반복문을 사용하지 않았기 때문에 코드의 효율성이 좀 더 좋은 것 같다.
  • split, join을 통해 특정 문자를 제거하고 붙여서 간결하고 코드도 한 줄로 쓸 수 있기에 가독성이 좋은 것 같다.
function solution(my_string, letter) {
    return Array.from(my_string).filter(t => t !== letter).join('');
}
  • 기존 문자열로 새로 배열을 만들고 filter 함수를 통해 조건에 부합하는 새 배열을 만들어 합쳤다.

5. 새로 배운 것

ⓐreplace(대체 대상 문자, 대체할 문자) : 첫 대상 변환

ⓑfor..in은 key 값 반환
-반복문을 항상 쓰던 코드만 써 보았기에 다른 방법들도 사용해보았는데 for..in 반복문은 key 값을 반환하는 반복문이었다.

ⓒreplaceAll(대체 대상 문자, 대체할 문자) : 전체 변환
-replace 보다 쉽게 해결하는 방법도 존재했다.

ⓓArray.from(str) : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/from

profile
나는 나의 섬이다.

0개의 댓글