Lv.1小数点を検索
質問する
コード#コード#
class Solution {
//소수 판별하여 true/false 반환하는 함수
public static boolean checkPrime(int num){
if(num==1) return false;
for(int i=2; i<=Math.sqrt(num); i++){
if(num%i==0) return false;
}
return true;
}
public int solution(int n) {
int answer = 0;
//1~n 까지 반복문 돌면서 소수 판단을 한다.
for(int i=1; i<=n; i++){
if(checkPrime(i)){ // 소수이면 answer 플러스
answer++;
}
}
return answer;
}
}
コードコメント
for(int i=2; i<=Math.sqrt(num); i++){}
最初はnum/2を繰り返し文条件に設定したが、テスト例ではタイムアウトがあり、効率も合格しなかった.だからjavaのMathでsqrt(num)を使用すると、タイムアウトも効率にも影響しません.
次はMathに続きますsqrt()はよく使うべきです.
失敗後に成功
Reference
この問題について(Lv.1小数点を検索), 我々は、より多くの情報をここで見つけました https://velog.io/@just_coding/Lv.1-소수-찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol