분류 전체보기 109

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

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

백준 1193번 분수찾기 (JAVA)

📌문제무한히 큰 배열에 다음과 같이 분수들이 적혀있다.1/11/21/31/41/5…2/12/22/32/4……3/13/23/3………4/14/2…………5/1……………………………이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자.X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오.입력첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.출력첫째 줄에 분수를 출력한다. 예제 입력 7예제 출력 1/4  📌답 풀이)/** * idea) * 1. 대각선(/) 라인을 따라서 지그재그로 이동하므로 대각선 별로 분수들을 묶는다. * 예) (1/1) - 1열 * ..