programmers

코딩 테스트 / 외계어 사전, 문자열 밀기

이미사용 2023. 6. 1. 00:16
명언
-
728x90
반응형

외계어 사전

※풀이

1. dic.some() 메소드는 dic 배열의 각 요소에 대해 주어진 콜백 함수를 실행합니다.
2. 콜백 함수는 v라는 변수를 가지고 있으며, v는 dic 배열의 각 요소입니다.
3.v를 배열로 변환하여 각 문자를 개별 요소로 가지는 새로운 배열을 만듭니다. ([...v])
4.이 새로운 배열을 정렬합니다. ([...v].sort())
5.정렬된 배열을 문자열로 변환합니다. ([...v].sort().toString())
6. spell을 배열로 변환하여 위와 동일한 과정을 거칩니다. ([...spell].sort().toString())
7.변환된 두 문자열을 비교하여 일치하는지 확인합니다.
8.일치하는 경우 dic.some() 메소드는 true를 반환하고, 그렇지 않은 경우 false를 반환합니다.
9. 반환된 값이 true이면 1을 반환하고, false이면 2를 반환합니다.

 

some() 배열 메소드 중 하나로, 배열 요소 중에서 주어진 조건을 만족하는 요소가 있는지 확인하는 데 사용됩니다.
toString() 내장 메소드 중 하나로, 객체를 문자열로 변환하는 데 사용됩니다.

 

ex1)

    {
        function solution(spell, dic) {
            return dic.some((v) => [...v].sort().toString() === [...spell].sort().toString())? 1 : 2;
        }
        console.log(solution(["p", "o", "s"], ["sod", "eocd", "qixm", "adio", "soo"]))
        //2
    }

ex2)

    {
        function solution(spell, dic) {
            return dic.some((v) => [...v].sort().toString() === [...spell].sort().toString())? 1 : 2;
        }
        console.log(solution(["z", "d", "x"], ["def", "dww", "dzx", "loveaw"]))
        //1
    }

 

문자열 밀기

※풀이

1. (B + B)는 문자열 B를 2번 이어붙인 새로운 문자열을 생성합니다.
2. indexOf(A)는 문자열 A가 생성된 문자열에서 처음으로 등장하는 인덱스를 찾습니다. 해당 인덱스를 반환합니다.
3. 만약 A가 생성된 문자열에 포함되어 있지 않다면 -1을 반환합니다.

 

 

 

ex1)

    {
        function solution(A, B) {
            return (B+B).indexOf(A);
        }
        console.log(solution("hello", "ohell"))
        //1
    }

 

ex2)

    {
        function solution(A, B) {
            return (B+B).indexOf(A);
        }
        console.log(solution("apple", "elppa"));
        //-1
    }

 

 

 

 

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