2024/12 73

백준 9063번 대지 (JAVA)

📌문제임씨는 1950 년 한국전쟁으로 많은 손해를 본 사람들 중 하나다.  .... (문제중략) 실제로도 안 읽음..예를 들어 위와 같이 (2, 1), (3, 2), (5, 2), (3, 4) 네 점에서 옥구슬을 발견하였다면, 임씨에게 돌아갈 대지는 (2, 1), (5, 1), (2, 4), (5, 4)를 네 꼭짓점으로 하는 직사각형이며, 넓이는 (5 - 2) × (4 - 1) = 9 가 된다.  입력첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다. 출력첫째 줄에 N 개의 점을 둘러싸는 최소 크기의 직사각형의 넓이를 출력하시오. 예제 입력..

백준 3009번 네 번째 점 (JAVA)

📌문제세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.입력세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다.출력직사각형의 네 번째 점의 좌표를 출력한다.예제 입력 5 55 77 5예제 출력 7 7 📌답import java.io.IOException;public class Main { public static void main(String[] args) throws IOException{ StringBuilder sb = new StringBuilder(); int x1 = readInt(); int y1 = readInt(); int x2 = ..

백준 1085번 직사각형에서 탈출(JAVA)

📌문제한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.입력첫째 줄에 x, y, w, h가 주어진다.출력첫째 줄에 문제의 정답을 출력한다.제한1 ≤ w, h ≤ 1,0001 ≤ x ≤ w-11 ≤ y ≤ h-1x, y, w, h는 정수예제 입력 6 2 10 3예제 출력1  📌답import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(..

백준 11653번 소인수분해 (JAVA)

📌문제정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.입력첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.출력N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다.예제 입력 72예제 출력 22233    📌답import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); ..

백준 2581번 소수 (JAVA)

📌문제자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오.예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이 된다.입력입력의 첫째 줄에 M이, 둘째 줄에 N이 주어진다.M과 N은 10,000이하의 자연수이며, M은 N보다 작거나 같다.출력M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.예제 입력 60100예제 출력 62061   에라토스테..

백준 1978번 소수 찾기 (JAVA)

📌문제주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.입력첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.출력주어진 수들 중 소수의 개수를 출력한다.예제 입력 41 3 5 7예제 출력 3   📌답입력받은 수 N을 N이하 자연수 j로 나눠준 후 나머지가 0인 j의 개수가 2개면 소수이다. import java.io.IOException;public class Main { public static void main(String[] args) throws IOException { int n = readInt(); int ans =0; for(int i = 0;..

백준 9506번 약수들의 합 (JAVA)

📌문제어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다.예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다.n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.입력입력은 테스트 케이스마다 한 줄 간격으로 n이 주어진다. (2 입력의 마지막엔 -1이 주어진다.출력테스트케이스 마다 한줄에 하나씩 출력해야 한다.n이 완전수라면, n을 n이 아닌 약수들의 합으로 나타내어 출력한다(예제 출력 참고).이때, 약수들은 오름차순으로 나열해야 한다.n이 완전수가 아니라면 n is NOT perfect. 를 출력한다.예제 입력 61228-1예제 출력6 = 1 + 2 + 312 is NOT perfect.28 = 1 + 2 + 4 + 7 + 14 📌답import java.io.*..

백준 2501번 약수 구하기(JAVA)

📌문제어떤 자연수 p와 q가 있을 때, 만일 p를 q로 나누었을 때 나머지가 0이면 q는 p의 약수이다. 6을 예로 들면6 ÷ 1 = 6 … 06 ÷ 2 = 3 … 06 ÷ 3 = 2 … 06 ÷ 4 = 1 … 26 ÷ 5 = 1 … 16 ÷ 6 = 1 … 0그래서 6의 약수는 1, 2, 3, 6, 총 네 개이다.두 개의 자연수 N과 K가 주어졌을 때, N의 약수들 중 K번째로 작은 수를 출력하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다.출력첫째 줄에 N의 약수들 중 K번째로 작은 수를 출력한다. 만일 N의 약수의 개수가 K개보다 적어서 K번째 약수가 존재하지 않을 경우에는 0을 출력하시오.예제 입력 6..

백준 5086 배수와 약수 (JAVA)

📌문제 4 × 3 = 12이다.이 식을 통해 다음과 같은 사실을 알 수 있다.3은 12의 약수이고, 12는 3의 배수이다.4도 12의 약수이고, 12는 4의 배수이다.두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오.첫 번째 숫자가 두 번째 숫자의 약수이다.첫 번째 숫자가 두 번째 숫자의 배수이다.첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니다.입력입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 10,000이 넘지않는 두 자연수로 이루어져 있다. 마지막 줄에는 0이 2개 주어진다. 두 수가 같은 경우는 없다.출력각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither..

JAVA) System.in.read()로 정수 입력받기

목차  📌System.in.read()💡System.in.read()의 주요 특징입력 데이터 처리한 번 호출 시 1바이트(8비트)를 읽음반환값은 0부터 255 사이의 정수 값.  ASCII 코드로 입력받음예:  'A'입력 -> 65만약 입력이 없으면 -1 반환 = EOF(End Of File)입력이 있을 때까지 프로그램 실행이 멈추는(블로킹) 방식으로 동작사용자가 키보드로 Enter를 누를 때까지 대기버퍼 사용사용자가 입력한 내용은 내부적으로 입력 버퍼에 저장System.in.read()는 버퍼에서 데이터를 하나씩 읽어온다. 예를 들어, 사용자가 abc\n를 입력하면:'a'를 읽고 반환'b'를 읽고 반환'c'를 읽고 반환'\n'(줄 바꿈 문자)를 읽고 반환입력은 문자로 다뤄짐입력값 은문자(ASCII..