programmers

코딩 테스트 / 문자열 뒤집기, 특정 문자 제거하기

이미사용 2023. 5. 23. 02:00
명언
-
728x90
반응형

문자열 뒤집기

 

※풀이1

 

 

1. my_string.split(''): 입력된 문자열 my_string을 각 문자로 분리하여 배열로 변환합니다. split('') 메서드를 사용하면 문자열의 각 문자가 배열의 각 요소가 됩니다.
2. .reverse(): 배열을 역순으로 뒤집습니다. 즉, 배열의 첫 번째 요소가 마지막 요소가 되고, 마지막 요소가 첫 번째 요소가 됩니다.
3. .join(''): 배열의 요소들을 빈 문자열('')로 이어서 하나의 문자열로 만듭니다. 이때, 각 요소 사이에는 구분자가 없으므로 문자열이 그대로 이어진 상태로 반환됩니다.

 

ex1)

    {
        function solution(my_string) {
            return my_string.split('').reverse().join('')
        }
        console.log(solution("bread"));
        //daerb
    }

 

※풀이2

 

 

1. Array.from(my_string): 입력된 문자열 my_string을 배열로 변환합니다. 배열의 각 요소는 문자열의 각 문자가 됩니다.
2. .reverse(): 배열을 역순으로 뒤집습니다. 즉, 배열의 첫 번째 요소가 마지막 요소가 되고, 마지막 요소가 첫 번째 요소가 됩니다.
3. .join(''): 배열의 요소들을 빈 문자열('')로 이어서 하나의 문자열로 만듭니다. 이때, 각 요소 사이에는 구분자가 없으므로 문자열이 그대로 이어진 상태로 반환됩니다.

 

ex2)

    {
        function solution(my_string) {
            return Array.from(my_string).reverse().join('')
        }
        console.log(solution("jaron"));
        //noraj
    }

 

split() 문자열 메서드 중 하나로, 문자열을 지정한 구분자를 기준으로 분리하여 배열로 반환하는 역할을 합니다.
Array.from() JavaScript의 내장 함수로, 유사 배열 객체나 이터러블(iterable) 객체를 배열로 변환하는 역할을 합니다.
reverse() JavaScript 배열 메서드 중 하나로, 배열의 순서를 역순으로 뒤집는 역할을 합니다.
join() JavaScript 배열 메서드 중 하나로, 배열의 모든 요소를 하나의 문자열로 연결하는 역할을 합니다.

 

특정 문자 제거하기

※풀이

1. let reg = new RegExp(letter, 'g');: letter를 기준으로 정규 표현식(regular expression) 객체를 생성합니다. RegExp 생성자를 사용하여 정규 표현식을 생성하고, 'g' 플래그를 지정하여 전역 검색을 수행하도록 합니다. 이렇게 생성된 정규 표현식은 나중에 replace() 메서드에서 사용됩니다.
2. my_string.replace(reg, ''): my_string에서 reg와 일치하는 모든 문자열을 빈 문자열('')로 대체합니다. replace() 메서드는 첫 번째 인자로 정규 표현식(reg)을, 두 번째 인자로 대체할 문자열('')을 받습니다. 이를 통해 letter와 일치하는 모든 문자열이 제거됩니다.

new RegExp() JavaScript의 내장 객체인 RegExp의 생성자(constructor)입니다. RegExp 객체는 정규 표현식을 나타내는 객체입니다. 
replace() JavaScript 문자열 메서드 중 하나로, 문자열 내에서 특정 패턴을 검색하여 다른 문자열로 대체하는
역할을 합니다.

사용법
string.replace(pattern, replacement)
string: 대상 문자열입니다. 패턴 검색과 대체가 이루어질 문자열입니다.
pattern: 검색할 패턴을 나타내는 정규 표현식(regular expression) 객체 또는 문자열입니다.
replacement: 대체할 문자열입니다.

 

ex1)

    {
        function solution(my_string, letter) {
        let reg = new RegExp(letter, 'g');
            return my_string.replace(reg, '');
        }
        console.log(solution("abcdef", "f"));
        //abcde
    }

 

ex2)

    {
        function solution(my_string, letter) {
        let reg = new RegExp(letter, 'g');
            return my_string.replace(reg, '');
        }
        console.log(solution("BCBdbe", "B"));
        //Cdbe
    }