코딩테스트 89

백준 14215번 세 막대 (JAVA)

📌문제영선이는 길이가 a, b, c인 세 막대를 가지고 있고, 각 막대의 길이를 마음대로 줄일 수 있다.영선이는 세 막대를 이용해서 아래 조건을 만족하는 삼각형을 만들려고 한다.각 막대의 길이는 양의 정수이다세 막대를 이용해서 넓이가 양수인 삼각형을 만들 수 있어야 한다.삼각형의 둘레를 최대로 해야 한다.a, b, c가 주어졌을 때, 만들 수 있는 가장 큰 둘레를 구하는 프로그램을 작성하시오. 입력첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다.출력첫째 줄에 만들 수 있는 가장 큰 삼각형의 둘레를 출력한다.예제 입력 1 2 3예제 출력 5       📌답 import java.io.*;import java.util.StringTokenizer;public class Main {..

백준 5073번 삼각형과 세 변 (JAVA)

📌문제삼각형의 세 변의 길이가 주어질 때 변의 길이에 따라 다음과 같이 정의한다.Equilateral :  세 변의 길이가 모두 같은 경우Isosceles : 두 변의 길이만 같은 경우Scalene : 세 변의 길이가 모두 다른 경우단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 "Invalid" 를 출력한다. 예를 들어 6, 3, 2가 이 경우에 해당한다. 가장 긴 변의 길이보다 나머지 두 변의 길이의 합이 길지 않으면 삼각형의 조건을 만족하지 못한다.세 변의 길이가 주어질 때 위 정의에 따른 결과를 출력하시오.입력각 줄에는 1,000을 넘지 않는 양의 정수 3개가 입력된다. 마지막 줄은 0 0 0이며 이 줄은 계산하지 않는다.출력각 입력에 맞는 결과 (Equilateral, Is..

백준 10101번 삼각형 외우기 (JAVA)

📌문제창영이는 삼각형의 종류를 잘 구분하지 못한다. 따라서 프로그램을 이용해 이를 외우려고 한다.삼각형의 세 각을 입력받은 다음,세 각의 크기가 모두 60이면, Equilateral세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene세 각의 합이 180이 아닌 경우에는 Error를 출력하는 프로그램을 작성하시오.입력총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다.출력문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.예제 입력 607050예제 출력Scalene   📌답 import java.io.*;public clas..

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