programmers

코딩 테스트 / A로 B 만들기,팩토리얼

이미사용 2023. 5. 28. 03:12
명언
-
728x90
반응형

A로 B 만들기

※풀이

1. before와 after를 각각 문자 단위로 분리하여 배열로 변환합니다.
2. before.split('')와 after.split('')를 사용하여 문자열을 문자 단위로 분리한 배열을 생성합니다.
분리한 배열을 정렬합니다.
3. sort()를 사용하여 배열을 정렬합니다. 기본적으로는 유니코드에 따라 정렬됩니다.
정렬된 배열을 문자열로 결합합니다.
3. join()을 사용하여 배열의 요소를 문자열로 결합합니다. 기본적으로는 쉼표로 구분됩니다.
4. before와 after를 정렬 및 결합한 문자열을 비교하여 같은지 확인하여, 같으면 1을 반환하고, 다르면 0을 반환합니다.

sort() JavaScript 배열의 메서드로, 배열의 요소들을 정렬하는 기능을 제공합니다. 이 메서드를 호출하면 배열의 요소들이 기본적으로 유니코드에 따라 오름차순으로 정렬됩니다.
sort() 메서드는 원본 배열을 변경하며, 정렬된 배열을 반환합니다. 반환된 배열을 저장하지 않고 사용하면, 원본 배열이 변경된 상태로 유지됩니다.

ex1)

    {
        function solution(before, after) {
            return before.split('').sort().join() === after.split('').sort().join() ? 1 : 0;
        }
        console.log(solution("olleh","hello"));
        //1
    }

ex2)

    {
        function solution(before, after) {
            return before.split('').sort().join() === after.split('').sort().join() ? 1 : 0;
        }
        console.log(solution("allpe","apple"));
        //0
    }

 

팩토리얼

※풀이

1. 변수 i를 1로 저장합니다. 이 변수는 팩토리얼 값을 계산할 때 사용됩니다.
2.변수 factorial을 1로 저장 합니다. 이 변수는 팩토리얼 값을 저장합니다.
3. factorial이 n보다 작거나 같은 동안 i를 1씩 증가 시키고 factorial에 i를 곱한값을 factorial에 저장을 반복합니다.
4. 반복이 종료되면 i -1을 반환합니다.

ex1)

    {
        function solution(n) {
            let i = 1;
            let factorial = 1;
            while (factorial <= n){
                i += 1
                factorial *= i
            }
            return i-1;
        }
    console.log(solution(3628800));
    //10
    }

ex2)

    {
        function solution(n) {
            let i = 1;
            let factorial = 1;
            while (factorial <= n){
                i += 1
                factorial *= i
            }
            return i-1;
        }
    console.log(solution(7));
    //3
    }

 

 

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