백준 소수 - 2581 [JAVA] - 23년 1월 7일

Denia·2023년 1월 7일
0

코딩테스트 준비

목록 보기
132/201

놓치기 쉬운 실수인 1은 소수가 아니다 라는 조건을 넣지 않아서 예상외로 고생을 했다.
항상 생각하는 것이지만 너무 당연한 것을 당연하게 생각하다보면 실수 하기가 좋은 것 같다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Main {
    static public void main(String[] args) throws IOException {
        BjSolution sol = new BjSolution();

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int start = Integer.parseInt(br.readLine());
        int end = Integer.parseInt(br.readLine());
        sol.solution(start, end);
    }
}

class BjSolution {
    public void solution(int start, int end) {
        List<Integer> primes = new ArrayList<>();
        long sum = 0;
        for (int i = start; i <= end; i++) {
            if (isPrime(i)) {
                primes.add(i);
                sum += i;
            }
        }

        if (primes.isEmpty()) {
            System.out.println(-1);
            return;
        }

        primes.sort(null);
        System.out.println(sum);
        System.out.println(primes.get(0));
    }

    private boolean isPrime(int i) {
        boolean flag = true;

        if (i == 1) {
            return false;
        }

        for (int j = 2; j <= Math.sqrt(i); j++) {
            if (i % j == 0) {
                flag = false;
                break;
            }
        }

        return flag;
    }
}
profile
HW -> FW -> Web

0개의 댓글