백준 알고리즘 76

백준 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..

백준 2869번 달팽이는 올라가고 싶다 (JAVA)

📌문제땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.입력첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B 출력첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.예제 입력 2 1 5예제 출력 4   📌답import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { p..