알고리즘

Coding Test/프로그래머스

[JAVA] 소수 찾기

문제설명 문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1000000이하의 자연수입니다. 입출력 예 입출력 예 설명 입출력 예 #1 1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환 입출력 예 #2 1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환 코드 설명 저는 이 문제를 풀기 위해 에라토스테네스의 체라는 개념을 활용하였습니다. 먼저 이 풀이 설명을 보시기 전에 에라토스테네스 체 정리글을 한 번 읽고 와주세요!!! int sieve[] = new int[n+1]; int cnt = 0; 크기..

카테고리 없음

[알고리즘] 에라토스테네스의 체

에라토스테네스의 체에 대해서 에라토스테네스의 체(Eratosthenes' Sieve)는 소수를 찾는 알고리즘입니다. 이 알고리즘은 고대 그리스의 수학자인 에라토스테네스에 의해 개발되었습니다. 에라토스테네스의 체는 2부터 시작하여 차례로 모든 수를 검사합니다. 소수인 수를 찾으면 그 수의 배수를 모두 제외시킵니다. 이 과정을 반복하여 최종적으로 남는 수들이 소수가 됩니다. 구체적인 동작 과정은 다음과 같습니다 2부터 시작하여 차례로 수를 증가시킵니다. 현재 수가 아직 제외되지 않았다면 소수로 간주합니다. 현재 수의 배수들을 모두 제외시킵니다. (자기 자신은 제외하지 않습니다) 모든 수에 대해 반복합니다. 예를 들어, 2부터 30까지의 소수를 찾을 때 에라토스테네스의 체를 사용하면 다음과 같은 과정을 거칩니..

노 코딩 노 라이프
'알고리즘' 태그의 글 목록