소수구하기

    [Programmers] 소수 만들기 (JavaScript)

    문제 설명 주어진 숫자 3개의 수를 더했을 때 소수가 되는 경우의 수를 구하는 문제 풀이과정 ✨ 반복문을 이용하여 3개의 수를 더했을 때의 수를 number 변수에 할당한다. sosu()라는 함수명을 가진 함수를 선언하고 로직을 구현한다. sosu 함수는 숫자를 인자로 받아 2 부터 자기자신의 제곱근까지 반복문을 통해 나머지를 구한다. 2부터 자기자신의 제곱근까지 나누어 보았을 때 나머지가 0이 아니라는 것은 소수가 아님으로 false를 return 한다. sosu로 부터 return 받은 Boolean type이 true 라면 변수 answer에 + 1 을 해준다. 결과값 answer를 return 받는다. Code function solution(nums) { let answer = 0; let ma..

    [Algorithm] 소수구하기

    문제 N이 주어졌을 때, N보다 크고 2N보다 작거나 같은 소수의 개수를 구하는 문제 풀이 0 ~ 2N까지의 숫자에 해당하는 배열을 생성하고 에라토스테네스의 체 를 이용하여 소수를 구하려고 한다. 이 방법은 2부터 구하고자 하는 숫자까지를 모두 나열하고 2부터 차례대로 1씩 증가하면서 해당 숫자의 배수를 모두 지우는 방식이다. 그렇기 때문에 코드에서는 배열의 index를 활용해서 true -> false로 변경시켰다. 이 때 해당 수의 제곱근 까지만 범위를 제한하게되면 루프횟수를 O(logN)으로 만들어 줄 수 있다. 제곱근 의 법칙이 성립하는 이유는 어떤 수(n)은 두 수 (a, b)의 곱으로 나타낼 수 있다. 예를 들어 12는 2 * 6, 3 * 4로 나타낼 수 있고 두가지 경우의 작은 수를 보게되면..