programmers

코딩 테스트 / 369게임, 중복된 문자 제거

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

 369 게임

※풀이 1

1. order.toString()을 사용하여 order 값을 문자열로 변환합니다. 이렇게 함으로써 match 함수를 사용할 수 있습니다.
2. match(/[369]/g)는 정규 표현식을 사용하여 문자열에서 숫자 3, 6, 9와 일치하는 모든 문자를 찾습니다. g 플래그는 전역 검색을 의미합니다.
3. ?? []는 검색 결과가 null 또는 undefined인 경우 빈 배열([])을 반환하도록 합니다. 이는 검색 결과가 없는 경우를 처리하기 위한 방어적인 코드입니다.
4. value.length는 검색된 숫자 3, 6, 9의 개수를 반환합니다.

ex1 )

    {
        function solution(order) {
            let value = order.toString().match(/[369]/g) ?? []
            return value.length;
        }
        console.log(solution(3));
        //1
    }

 

※풀이 2

1. order.toString()을 사용하여 order 값을 문자열로 변환합니다.
2. split('')을 사용하여 문자열을 각각의 문자로 분할하여 배열로 만듭니다. 이를 통해 각 자릿수를 개별적으로 처리할 수 있습니다.
3 . filter(v => v == '3' || v == '6' || v == '9' ? true : false)를 사용하여 배열에서 숫자 3, 6, 9에 해당하는 요소만 필터링합니다. 
· v는 배열의 각 요소를 의미합니다.
· v == '3' || v == '6' || v == '9'는 요소가 3, 6, 9 중 하나인지 확인합니다.
· 해당 조건이 참일 경우 true를 반환하고, 그렇지 않으면 false를 반환합니다.
4. length를 사용하여 필터링된 배열의 길이, 즉 3, 6, 9의 개수를 반환합니다.

ex1)

    {
        function solution(order) {
           return order.toString().split('').filter(v => v == '3' || v == '6' || v == '9' ? true : false).length
        }
        console.log(solution(29423));
        //2
    }

 

toString() JavaScript의 내장 메서드 중 하나로, 숫자, 객체, 배열 등을 문자열로 변환하는 역할을 합니다.
match() JavaScript의 내장 메서드 중 하나로, 문자열에서 정규 표현식과 일치하는 부분을 찾아 배열로 반환합니다.
split() JavaScript의 내장 메서드 중 하나로, 문자열을 지정한 구분자를 기준으로 나누어 배열로 반환하는 역할을 합니다.
filter() JavaScript의 내장 메서드 중 하나로, 배열의 각 요소를 대상으로 주어진 조건을 만족하는 요소들로 이루어진 새로운 배열을 생성합니다.

 

중복된 문자 제거

※풀이

1 .[...new Set(my_string)]을 사용하여 문자열 my_string을 Set 객체로 변환합니다. Set은 중복을 허용하지 않는 유일한 값을 저장하는 객체입니다. 이를 통해 중복된 문자들이 제거됩니다.
2. join('')을 사용하여 Set 객체를 문자열로 변환하고, 각 문자를 빈 문자열('')로 연결하여 하나의 문자열로 만듭니다.

 

ex1)

    {
        function solution(my_string) {
            return [...new Set(my_string)].join('');
        }
        console.log(solution("people"));
        //peol
    }

ex2)

    {
        function solution(my_string) {
            return [...new Set(my_string)].join('');
        }
        console.log(solution("We are the world"));
        //We arthwold
    }

 

 

출처:https://school.programmers.co.kr/