본문 바로가기
Algorithm & SQL/BAEKJOON

백준 JAVA 2581 소수

by YoonJong 2022. 7. 13.
728x90

 

예제입력 결과만 나온다고 제출하면 안되는 문제였다. ( 모든문제가 그렇지만 )

 

한가지 예외는 자연수 1은 소수가 아니기 때문에 1이 포함될경우를 제외해주어야 한다.

package BAEKJOON;

import java.util.ArrayList;
import java.util.Scanner;

public class NO2581 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int M = sc.nextInt();
        int N = sc.nextInt();

        // 소수를 담기 위한 list 초기화
        ArrayList<Integer> list = new ArrayList<>();
        int sum = 0; // 합계

        for (int i = M; i <= N; i++) {

            if (i == 1) continue;

            boolean isPrime = true;
            for (int j = 2; j < i; j++) {
                if (i % j == 0) { // 나머지가 0 이면 false
                    isPrime = false;
                }
            }
            if (isPrime) { // 소수인 경우에는 list에 추가
                list.add(i);
            }
        }

        for (int i = 0; i < list.size(); i++) {
            sum += list.get(i); // 모두 더한 값
        }
        if (list.size() == 0) { // 소수가 없으면 -1
            System.out.println(-1);
        } else {
            System.out.println(sum);
            System.out.println(list.get(0));
        }
    }
}
728x90

'Algorithm & SQL > BAEKJOON' 카테고리의 다른 글

백준 JAVA 1929 소수 구하기  (0) 2022.07.14
백준 JAVA 4948 베르트랑 공준  (0) 2022.07.14
백준 JAVA 2839 설탕 배달  (0) 2022.07.13
백준 JAVA 10757 큰 수 A+B  (0) 2022.07.12
백준 JAVA 2775 부녀회장이 될테야  (0) 2022.07.12

댓글