티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/12921
코딩테스트 연습 - 소수 찾기
1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상
programmers.co.kr
[문제 풀이]
1. 에라토스테네스의 체를 이용하여 소수를 구한다.
1-1. 소수를 판별하는 배열을 만든다.
1-2. 0과 1은 소수가 아니므로 false를 넣고, 나머지를 true로 채운다.
1-3. 소수이면 해당 숫자의 배수를 모두 false(소수가 아니면 제거)로 바꾼다.
2. 소수가 몇 개인지 구한다.

[소스 코드]
import java.util.Arrays;
public class FindPrimeNumbers {
public static void main(String[] args) {
int n = 12;
System.out.println(solution(n));
}
private static int solution(int n) {
int answer = 0;
boolean[] isPrime = new boolean[n + 1];
Arrays.fill(isPrime, true);
isPrime[0] = isPrime[1] = false;
for (int i = 2; i <= n; i++) {
if (isPrime[i]) {
for (int j = i * 2; j <= n; j += i) {
isPrime[j] = false;
}
}
}
for (int i = 0; i <= n; i++) {
if (isPrime[i]) {
answer++;
}
}
return answer;
}
}'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] 시저 암호 (lv.1) (0) | 2020.07.21 |
|---|---|
| [프로그래머스] 수박수박수박수박수박수? (0) | 2020.07.20 |
| [프로그래머스] 서울에서 김서방 찾기 (lv.1) (0) | 2020.07.19 |
| [프로그래머스] 문자열 다루기 기본 (lv.1) (0) | 2020.07.19 |
| [프로그래머스] 문자열 내림차순으로 배치하기 (lv.1) (0) | 2020.07.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 2019 카카오 개발자 겨울 인턴십
- 깃
- OS
- 백준
- 자료구조
- Python
- 저장소
- dfs
- 2020 카카오 인턴십
- repository
- 코틀린
- 알고리즘
- 단계별로 문제풀이
- Algorihtm
- 열혈강의
- bfs
- 이것이 코딩테스트다
- BOJ
- Idempotent
- git
- 그래프
- 구현
- Summer/Winter Coding(~2018)
- binary search
- 그리디
- programmers
- spring boot 2.3.1
- DP
- 정렬
- Algorithm
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
글 보관함
