[Java] 백준 CLASS 2

Lee GaEun·2025년 1월 22일

[Java] 알고리즘

목록 보기
46/93

4153 직각삼각형

문제 링크

import java.io.*;
import java.util.*;

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;
        int A,B,C;
        while (true) {
            String answer = "wrong";
            st = new StringTokenizer(br.readLine());
            A = Integer.parseInt(st.nextToken());
            B = Integer.parseInt(st.nextToken());
            C = Integer.parseInt(st.nextToken());

            A *= A;
            B *= B;
            C *= C;

            if (A == B + C || B == A + C || C == A + B) answer = "right";
            if (A != 0 && B != 0 && C != 0) System.out.println(answer);
            else break;
        }
    }
}

  • 성공!

30802 웰컴 키트

문제 링크

import java.io.*;
import java.util.*;

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 N = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine());
        int[] size = new int[6];
        for(int i=0; i<6; i++) {
            size[i] = Integer.parseInt(st.nextToken());
        }
        st = new StringTokenizer(br.readLine());
        int T = Integer.parseInt(st.nextToken());
        int P = Integer.parseInt(st.nextToken());

        int CT = 0;
        for(int i=0; i<6; i++) {
            CT += countT(size[i], T);
        }
        System.out.println(CT);
        System.out.print(N/P+" ");
        System.out.print(N%P);
    }

    static int countT(int size, int T) {
        if(size%T==0) return size/T;
        else return size/T + 1;
    }
}

  • 성공!

1978 소수 찾기

문제 링크

import java.io.*;
import java.util.*;

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 N = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine());
        int[] arr = new int[N];
        for(int i=0; i<N; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
        }

        int answer = 0;
        for(int i=0; i<N; i++) {
            if(countS(arr[i])) answer++;
        }
        System.out.println(answer);
    }

    static boolean countS(int num) {
        if(num==1) return false;
        for(int i=2; i<=Math.sqrt(num); i++) {
            if(num%i==0) return false;
        }
        return true;
    }
}

  • 성공!

2231 분해합

문제 링크

import java.io.*;
import java.util.*;

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 N = Integer.parseInt(br.readLine());

        System.out.println(countS(N));
    }

    static int countS(int N) {
        for(int i=N; i>0; i--) {
            int B = N-i;
            String sB = String.valueOf(B);
            int cB = 0;
            for (int j=0; j<sB.length(); j++) {
                cB+= sB.charAt(j)-'0';
            }
            if(N==B+cB) return B;
        }
        return 0;
    }
}

  • 시간 초과날 줄 알고 효율적이게 풀려고 했는데
  • 그냥 냅다 하니까 됨..
  • 성공!
profile
I will give it my all (๑•̀o•́๑)ง

0개의 댓글