매일 Algorithm

신재원·2023년 7월 3일
0

Algorithm

목록 보기
158/243

백준 2581번

import java.util.Scanner;

public class problem499 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int m = in.nextInt();
        int n = in.nextInt();

        int sum = 0;
        int min = n;
        boolean flag = false;
        for (int i = m; i <= n; i++) {

            if (isPrime(i)) {
                sum += i;
                min = Math.min(min, i);
                flag = true;
            }
        }

		// 소수 일경우 소수의 합, 최소값을 구한다.
        if (flag) {
            System.out.println(sum);
            System.out.println(min);
        } else {
            System.out.println(-1);
        }
    }

    private static boolean isPrime(int num) {
        if (num == 1) {
            return false;
        }
        // 아스토스체를 이용해 제곱근으로 판별
        for (int i = 2; i * i <= num; i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
}

백준 5618번

import java.util.Arrays;
import java.util.Scanner;

public class problem500 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int size = in.nextInt();
        int[] numbers = new int[size];

        for (int i = 0; i < size; i++) {
            numbers[i] = in.nextInt();
        }
        Arrays.sort(numbers);

        // 최소값인 원소 까지 비교합니다.
        for (int i = 1; i <= numbers[0]; i++) {
            int count = 0;

            for (int j = 0; j < size; j++) {
                if(numbers[j] % i == 0){
                    count++;
                }
            }
            // count 갯수와, size가 같은경우 = 공통의 약수
            if(count == size){
                System.out.println(i);
            }
        }
    }
}

백준 2745번

import java.util.Scanner;

public class problem501 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        String inputString = in.next();
        int inputInt = in.nextInt();

        int sum = 0;
        int multi = 1;

        // 자릿수에 의해 inputString의 1의 자리부터 계산 합니다.
        for (int i = inputString.length() - 1; i >= 0; i--) {
            char ch = inputString.charAt(i);

            // 알파벳일 경우
            if (ch >= 'A' && ch <= 'Z') {
                sum += (ch - 'A' + 10) * multi;
            }
            // 숫자일 경우
            else {
                sum += (ch - '0') * multi;
            }
            multi *= inputInt;
        }
        System.out.println(sum);
    }
}

0개의 댓글