프로그래머스(https://programmers.co.kr/learn/courses/30/lessons/12921)
자바 초급 문제의 소수찾기 이다.
생각보다 어려운 문제였다고 생각한다. 특히 속도면에서 까다롭다고 생각한다.
내 로직은 속도가 적합하지 않다는 판정을 받았는데, 생각을 2~n-1 사이의 수로 나누어지면 소수가 아닌거다. 하고 시작했다.
오늘 일어나서 한번 더 부딪쳐봐야겠다. 에라토스테네스의 체..? 라는 공식이있던데 머리가 나빠서.. 잘 이해가 되지않는다..
이해해서 코드에 적용해보면 되게 좋을 것같아보이던데..일단 더 봐야겠다.
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
|
package 소수찾기;
public class subClass {
public int solution(int n) {
int answer = 0;
//소수란 자기자신보다 작은 수보다 나누어지면 소수인 것임.
for(int i=2; i<=n; i++) { //기존수는 n만큼
boolean check = true;//돌때마다 다시 true값이 되야하고.
for(int j=2; j<i;j++) {//나눌 수는 i만큼
if(i%j ==0) {//한번이라도 나누어지면
check = false;//false로 돌리고 break.
break;
}
}
if(check == true) {//나누어 봤는대도 true 그래도라면 소수 찾았음.
answer ++;
}
}
return answer;
}
}
|
cs |
'자바 초급문제로 맨땅에 해딩하기' 카테고리의 다른 글
자바 초급문제 8-1. 핸드폰 번호 가리기 다시접근하기 (0) | 2020.04.11 |
---|---|
자바 초급문제 1-1. 문자열다루기 다시접근하기 (0) | 2020.04.11 |
자바 초급문제 15. 문자열 내림차순으로 배치하기 (0) | 2020.04.09 |
자바 초급문제 14. 이상한 문자 만들기 (0) | 2020.04.08 |
자바 초급문제 13-2. 실패율 도전 2일차. (0) | 2020.04.07 |