[TID][Lv 0] 코딩 테스트 연습_5

MoonEn·2022년 12월 31일
0

Today I Learned

목록 보기
6/8

해당 스토리는 코드테스트 공부 중에 새롭게 배운 내용을 기록하고 자기 반성을 위해 기록해 둔다.

특정 문자 제거하기

문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.

  • 1 ≤ my_string의 길이 ≤ 100
  • letter은 길이가 1인 영문자입니다.
  • my_string과 letter은 알파벳 대소문자로 이루어져 있습니다.
  • 대문자와 소문자를 구분합니다.

문제 풀이

간단하게 문자열로 전달받은 my_string을 배열로 만들고, filter로 특정 문자를 필터링한 다음 join으로 합친 문자열을 반환하면 해결될 것 같다! 그렇다면 한 번 만들어보자!

function solution(my_string, letter) {
    let answer = my_string.split('').filter((v) => v != letter).join('');
    return answer;
}

해결!

추가

이렇게 간단하게 해결한 문제를 왜 블로그 글로 쓰느냐! 그것은 위에서도 사용한 split을 이용하여 더 간단하게 만드는 방법이 있기 때문이다.

먼저 split에 관해서 알아보자.

split
split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다. 문자열에서 separator(구분자)가 등장하면 해당 부분은 삭제되고 남은 문자열이 배열로 반환됩니다. - 출처: MDN

간단하게 구분자를 사용하면 letter를 지울 수 있다. 코드로 나타내면 다음과 같다.

function solution(my_string, letter) {
    let answer = my_string.split(letter).join('')
    return answer;
}

마무리

나는 split를 주로 문자열을 배열로 만들기 위해 무의식적으로 사용해 왔다. 이번에도 문제를 해결하기 위해 배열을 만들고, 배열에서 해결하려고 생각을 했다. 이것은 메서드의 기본적인 기능을 제대로 이해하지 못한 채로 사용하는, 기본기가 부족한 것이다라고 스스로 생각했다. 아직도 개린이지만, 그래도 다시 기본기를 탄탄하게 하는 것이 중요하다고 다시 한 번 생각하게 만드는 계기가 되었다.

profile
개발자를 꿈꾸는 직장인

0개의 댓글