일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- codingtest
- Linux
- 2차원배열
- StyleSheet
- css
- 리눅스
- gradle
- 시큐리티
- JAVA11
- programmers
- springboot
- 스프링 부트
- 목록
- 시큐리티 로그아웃
- springSecurity
- 반복문
- Spring boot
- security
- html
- 시큐리티 로그인
- 프로그래머스
- 소스트리
- javascript
- java
- sql
- input태그
- 시큐리티로그인
- 코딩테스트
- 싱글톤
- 로그인
Archives
- Today
- Total
JAVAIARY
프로그래머스 ) 소수 찾기 본문
문제: https://school.programmers.co.kr/learn/courses/30/lessons/12921
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Solution {
public int solution(int n) {
int cnt =1;
if (n<4) {
}else {
for (int i = 4; i <= n; i++) {
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0 ) {
cnt++;
break;
}
}
}
}
return n-cnt;
}
}
- 자연수 n을 나누어 떨어지게 하는 수는 n의 제곱근 보다 항상 작기 때문에
- Math.sqrt()를 통해 제곱근 까지만 나누어 떨어지는지 확인
+번외
에라토스테네스의 체
- 친절하게도 소수를 찾는 방법을 고안해 낸 사람이 이미 있다.
- 진짜 친절한건가..?
에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 수학에서 에라토스테네스의 체는 소수를 찾는 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다. 알고리즘[편집] 2부터 소수를 구하고자 하는 구간
ko.wikipedia.org
개념은 n의 제곱근 보다 작은 수들의 배수를 걸러내면 된다는 것
하지만 코드로 구현이 간단한지는 또 다른 문제
import java.util.ArrayList;
class Solution {
public int solution(int n) {
int answer = 0;
ArrayList<Integer> list = new ArrayList<Integer>();
boolean check = false;
for(int i=2; i<=Math.sqrt(n); i++){
check = false;
for(int j = 2; j<i; j++){
if(i%j==0){
check = true;
break;
}
}
if(!check){
list.add(i);
}
}
for(int i=2; i<=n; i++){
check = false;
for(int num : list){
if(i%num == 0 && !list.contains(i)){
check = true;
break;
}
}
if(!check){
answer++;
}
}
return answer;
}
}
'examplePractice' 카테고리의 다른 글
프로그래머스) 평행 (0) | 2023.10.06 |
---|---|
프로그래머스 ) 두 개 뽑아서 더하기 (0) | 2023.05.29 |
프로그래머스) 두 정수 사이의 합 (0) | 2023.04.19 |
프로그래머스) 자연수 뒤집어 배열로 만들기 (0) | 2023.04.18 |
프로그래머스 ) 이상한 문자 만들기 (0) | 2023.04.10 |