개발 공부/백준 - java 풀이 모음

백준 #4 1차원 배열 - Java 풀이 모음 (10807, 10871, 10818, 2562, 10810, 10813, 5597, 3052, 10811, 1546)

맹꽁이+ 2025. 11. 23. 14:08

안녕하세요. 맹꽁이입니다.

오늘은 백준 사이트 단계별 문제풀이의 1차원 배열 풀어볼게요.

 

이전글: #3 반복문

https://rb-cloud.tistory.com/6


#10807 - 개수 세기

import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int a = Integer.parseInt(br.readLine());
        int[] nums = new int[a];

        StringTokenizer st = new StringTokenizer(br.readLine());
        for (int i=0;i<a;i++) {
            nums[i] = Integer.parseInt(st.nextToken());
        }

        int b = Integer.parseInt(br.readLine());
        int count = 0;

        for(int i=0;i<a;i++){
            if(b==nums[i]) count++;
        }
        bw.write(count+"\n");
        bw.flush();
        bw.close();
    }
}

#10871 - X보다 작은 수

import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        StringTokenizer st = new StringTokenizer(br.readLine());

        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());

        st = new StringTokenizer(br.readLine());

        for (int i=0;i<a;i++) {
            int num = Integer.parseInt(st.nextToken());
            if(num<b) {
                bw.write(num+" ");
            }
        }

        bw.flush();
        bw.close();
    }
}

#10818 - 최소, 최대

import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
import java.util.Arrays;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int a = Integer.parseInt(br.readLine());
        int[] nums = new int[a];

        StringTokenizer st = new StringTokenizer(br.readLine());
        for (int i=0;i<a;i++) {
            nums[i] = Integer.parseInt(st.nextToken());
        }

        Arrays.sort(nums);
        bw.write(nums[0]+" "+nums[nums.length-1]);

        bw.flush();
        bw.close();
    }
}

#2562 - 최댓값

import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int[] nums = new int[9];
        int max = Integer.MIN_VALUE;
        int index = 0;

        for (int i=0;i<9;i++) {
            nums[i] = Integer.parseInt(br.readLine());

            if(max<nums[i]){
                max = nums[i];
                index = i+1;
            }
        }

        bw.write(max+"\n"+index);
        bw.flush();
        bw.close();
    }
}

#10810 - 공 넣기

import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int i, j, k;

        StringTokenizer st = new StringTokenizer(br.readLine());

        int a = Integer.parseInt(st.nextToken());
        int[] baguni = new int[a];
        int b = Integer.parseInt(st.nextToken());

        for (int x=0;x<b;x++) {
            st = new StringTokenizer(br.readLine());
            i = Integer.parseInt(st.nextToken());
            j = Integer.parseInt(st.nextToken());
            k = Integer.parseInt(st.nextToken());

            for(int y=i;y<=j;y++){
                baguni[y-1] = k;
            }
        }

        for(int z=0;z<a;z++){
            bw.write(baguni[z]+" ");
        }

        bw.flush();
        bw.close();
    }
}

#10813 - 공 바꾸기

import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int c, d, temp;

        int a = Integer.parseInt(st.nextToken());
        int[] baguni = new int[a];

        for(int i=0;i<a;i++){
            baguni[i] = i+1;
        }

        int b = Integer.parseInt(st.nextToken());

        for(int i=0;i<b;i++){
            st = new StringTokenizer(br.readLine());
            c = Integer.parseInt(st.nextToken());
            d = Integer.parseInt(st.nextToken());

            temp = baguni[c-1];
            baguni[c-1] = baguni[d-1];
            baguni[d-1] = temp;
        }

        for(int ball: baguni){
            bw.write(ball + " ");
        }

        bw.flush();
        bw.close();
    }
}

#5597 - 과제 안 내신 분..?

import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int[] students = new int[30];

        for(int i=0;i<28;i++){
            students[Integer.parseInt(br.readLine())-1] = 1;
        }

        for(int i=0;i<30;i++){
            if(students[i]==0) bw.write((i+1)+"\n");
        }

        bw.flush();
        bw.close();
    }
}

#3052 - 나머지

import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashSet;
import java.util.Set;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        Set<Integer> num = new HashSet<>();

        for(int i=0;i<10;i++){
            int n = Integer.parseInt(br.readLine());
            num.add(n%42);
        }

        bw.write(num.size()+"");
        bw.flush();
        bw.close();
    }
}

#10811 - 바구니 뒤집기

import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st = new StringTokenizer(br.readLine());

        int N = Integer.parseInt(st.nextToken());
        int[] baguni = new int[N];
        for(int i=0;i<N;i++){
            baguni[i] = i+1;
        }

        int M = Integer.parseInt(st.nextToken());

        for(int i=0;i<M;i++){
            st = new StringTokenizer(br.readLine());
            int left = Integer.parseInt(st.nextToken())-1;
            int right = Integer.parseInt(st.nextToken())-1;

            while(left<right){
                int temp = baguni[left];
                baguni[left] = baguni[right];
                baguni[right] = temp;
                left++;
                right--;
            }
        }

        for(int ball: baguni){
            bw.write(ball+" ");
        }

        bw.flush();
        bw.close();
    }
}

#1546 - 평균

import java.io.IOException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int max = Integer.MIN_VALUE;
        int N = Integer.parseInt(br.readLine());
        int[] score = new int[N];

        StringTokenizer st = new StringTokenizer(br.readLine());
        for(int i=0;i<N;i++){
            score[i] = Integer.parseInt(st.nextToken());
            if(score[i]>max){
                max = score[i];
            }
        }

        double sum = 0;

        for(int s: score){
            sum += ((double)s/max)*100;
        }

        bw.write(sum/N+"");
        bw.flush();
        bw.close();
    }
}

 


java는 system.out.print도 있고, 이렇게 BufferedWriter도 있고,

StringBuffer, StringBulider도 있고 너무너무 많아요.