매일 Algorithm

신재원·2023년 4월 13일
0

Algorithm

목록 보기
95/243

백준 16212번 (Silver 5)

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

public class problem304 {
    public static void main(String[] args) {
        // 간단한 정렬문제다.
        Scanner in = new Scanner(System.in);
        int t = in.nextInt();

        int[] arr = new int[t];

        for (int i = 0; i < t; i++) {
            arr[i] = in.nextInt();
        }

        Arrays.sort(arr);
        for (int result : arr) {
            System.out.print(result + " ");
        }
    }
}

백준 16435번 (Silver 5)

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

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

        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int m = in.nextInt();
        int[] arr = new int[n];

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

        for (int i = 0; i < arr.length; i++) {
            if (m >= arr[i]) {
                m++;
            }
        }
        System.out.println(m);
    }
}

백준 18511번 (Silver 5)

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

public class problem306 {
    static int n;
    static int m;
    static int[] arr;
    static int result;

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        n = in.nextInt(); // 자연수
        m = in.nextInt(); // 집합 원소의 갯수
        arr = new int[m];

        for (int i = 0; i < m; i++) {
            arr[i] = in.nextInt();
        }
        Arrays.sort(arr);
        dfs(0);
        System.out.print(result);
    }

    private static void dfs(int number) {

        // 탈출조건
        if (number > n) return;

        if (result < number) result = number; // result값 갱신

        // 큰 값부터 꺼낸다.
        for (int i = m - 1; i >= 0; i--) {
            dfs(number * 10 + arr[i]);
        }
    }
}

백준 25206번 (Silver 5)

import java.util.Scanner;

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

        Scanner in = new Scanner(System.in);
        String[] str = new String[20]; // 전공 과목

        double total = 0;
        double sum = 0;
        // 등급 배열
        String arr[] =
                {"A+", "A0", "B+", "B0", "C+", "C0", "D+", "D0", "F", "P"};
        // 등급에 따른 점수 배열
        double Score[] =
                {4.5, 4.0, 3.5, 3.0, 2.5, 2.0, 1.5, 1.0, 0.0, 0.0};

        for (int i = 0; i < 20; i++) {
            str[i] = in.next();
            double score = in.nextDouble();
            String st = in.next();

            for (int j = 0; j < 10; j++) {
                if (st.equals(arr[j])) {
                    total += score * Score[j];

                    // 등급이 P인 과목은 계산에서 제외해야 한다.
                    if (j != 9) {
                        sum += score;
                    }
                }

            }
        }
        double result = total / sum;
        // 소수점 6자리 출력
        System.out.printf("%.6f\n", result);
    }
}

0개의 댓글