Java Challenge - 4

CYSSSSSSSSS·2024년 3월 12일

자바 챌린지

목록 보기
4/11

Java Challenge

1차원 배열

백준 10807

  • 숫자를 입력받아 특정수가 몇개 존재하는지 출력하는 프로그램을 작성하시오
package 배열;

import java.util.Scanner;

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

        int n = scanner.nextInt();
        int answer = 0;
        int[]arrys = new int[n];

        for(int i = 0;i<arrys.length;i++){
            arrys[i] = scanner.nextInt();
        }

        int find = scanner.nextInt();

        for(int i = 0;i<arrys.length;i++){
            if (arrys[i] == find){
                answer++;
            }
        }

        System.out.println(answer);
    }
}

백준 10871

  • 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.
package 배열;

import java.util.Scanner;

public class BOJ10871 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n,x;

        n = scanner.nextInt();
        x = scanner.nextInt();
        int []arrays = new int[n];
        for(int i=0; i<arrays.length;i++){
            arrays[i] = scanner.nextInt();
            if (arrays[i] < x){
                System.out.print(arrays[i] + " ");
            }
        }

    }
}

백준 10818

  • N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
package 배열;

import java.util.Scanner;

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

        int n = scanner.nextInt();
        int []arrays = new int[n];

        for(int i = 0; i<arrays.length;i++){
            arrays[i] = scanner.nextInt();
        }

        int max = arrays[0];
        int min = arrays[0];

        for(int i=1;i<arrays.length;i++){
            if (max < arrays[i]){
                max = arrays[i];
            }
            if (min > arrays[i]){
                min = arrays[i];
            }
        }

        System.out.println(min + " " + max);
    }
}

백준 2562

  • 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
package 배열;

import java.util.Scanner;

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

        int []arrs = new int[9];
        int answer,idx;
        answer = 0;
        idx = 0;
        for(int i = 0; i<arrs.length;i++){
            arrs[i] = scanner.nextInt();
            if (answer < arrs[i]) {
                answer = arrs[i];
                idx = i;
            }
        }

        System.out.println(answer);
        System.out.println(idx+1);

    }
}

백준 10810

  • 공을 어떻게 넣을지가 주어졌을 때, M번 공을 넣은 이후에 각 바구니에 어떤 공이 들어 있는지 구하는 프로그램을 작성하시오.
package 배열;

import java.util.Scanner;

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

        int n = scanner.nextInt();
        int m = scanner.nextInt();

        int []arrs = new int[n];
        int a,b,c;
        for(int i = 0; i<m;i++){
            a = scanner.nextInt();
            b = scanner.nextInt();
            c = scanner.nextInt();
            for(int j = a-1;j <b; j++){
                arrs[j] = c;
            }
        }
        for(int k = 0; k<arrs.length;k++){
            System.out.print(arrs[k] + " ");
        }
    }
}

백준 10813

  • 공을 어떻게 바꿀지가 주어졌을 때, M번 공을 바꾼 이후에 각 바구니에 어떤 공이 들어있는지 구하는 프로그램을 작성하시오.
package 배열;

import java.util.Scanner;

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

        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int []arrs = new int[n];

        for(int i = 0; i<n;i++){
            arrs[i] = i+1;
        }
        int temp = 0;

        int a,b;
        for(int j = 0; j<m;j++){
            a = scanner.nextInt();
            b = scanner.nextInt();
            a -=1;
            b -=1;

            temp = arrs[a];
            arrs[a] = arrs[b];
            arrs[b] = temp;
        }

        for(int k = 0; k <arrs.length;k++){
            System.out.print(arrs[k] + " ");
        }
    }
}

백준 5597

  • 교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오.
package 배열;

import java.util.Scanner;

public class BOJ5597 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int []arrs = new int[30];
        int n;
        for(int i =0; i<28;i++){
            n = scanner.nextInt();
            arrs[n-1] = 1;
        }
        for(int i =0; i<30;i++){
            if (arrs[i] == 0){
                System.out.println(i+1);
            }
        }
    }
}

백준 3052

  • 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
package 배열;

import java.util.Scanner;

public class BOJ3052 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int []arrs = new int[42];
        int n;
        int answer = 0;
        for(int i =0; i<10;i++){
            n = scanner.nextInt();
            n = n % 42;
            arrs[n]++;
        }
        for(int i=0; i<arrs.length;i++){
            if (arrs[i] >= 1){
                answer ++;
            }
        }
        System.out.println(answer);
    }
}

백준 10811

  • 바구니의 순서를 어떻게 바꿀지 주어졌을 때, M번 바구니의 순서를 역순으로 만든 다음, 바구니에 적혀있는 번호를 가장 왼쪽 바구니부터 출력하는 프로그램을 작성하시오.
package 배열;

import java.util.Scanner;

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

        int n = scanner.nextInt();
        int m = scanner.nextInt();

        int []arrs = new int[n];

        for(int i = 0; i<n;i++){
            arrs[i] = i+1;
        }
        int a,b,temp;
        int len_;
        for(int i = 0; i < m; i++){
            a = scanner.nextInt();
            b = scanner.nextInt();
            a--;
            b--;
            len_ = (a+b+1) / 2;
            for(int j = a; j <len_;j++){
                temp = arrs[j];
                arrs[j] = arrs[b];
                arrs[b] = temp;
                b--;
            }
        }
        for (int k=0; k<arrs.length;k++){
            System.out.print(arrs[k] + " ");
        }
    }
}

백준 1546

  • 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다.
  • 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오.
package 배열;

import java.util.Scanner;

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

        int n = scanner.nextInt();
        double []arrs = new double[n];
        int max = 0;
        for(int i = 0; i<n; i++){
            arrs[i] = scanner.nextInt();
            if (max <arrs[i]){
                max = (int)arrs[i];
            }
        }
        double sum = 0;
        for(int i =0; i<n;i++){
            arrs[i] = arrs[i]/max *100;
            sum += arrs[i];
        }
        System.out.println(sum / n);
    }
}
profile
개발자 되고 싶어요

0개의 댓글