2024/12 76

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

백준 2292번 벌집 (JAVA)

📌문제  위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다.입력첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다.출력입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다.예제 입력 13예제 출력 3   📌답import java.io.*;public class Main { public static voi..

백준 2903번 중앙 이동 알고리즘 (JAVA)

📌문제상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다.외계 지형은 중앙 이동 알고리즘을 이용해서 만들려고 한다.알고리즘을 시작하면서 상근이는 정사각형을 이루는 점 4개를 고른다. 그 후에는 다음과 같은 과정을 거쳐서 지형을 만든다.정사각형의 각 변의 중앙에 점을 하나 추가한다.정사각형의 중심에 점을 하나 추가한다.초기 상태에서 위와 같은 과정을 한 번 거치면 총 4개의 정사각형이 새로 생긴다. 이와 같은 과정을 상근이가 만족할 때 까지 계속한다.상근이는 어떤 점은 한 개 보다 많은 정사각형에 포함될 수 있다는 사실을 알았다. 메모리 소모량을 줄이기 위해서 중복..

백준 2720번 세탁소 사장 동혁 (JAVA)

📌문제(요약)거스름돈의 액수가 주어지면 리암이 줘야할 쿼터(Quarter, $0.25)의 개수, 다임(Dime, $0.10)의 개수, 니켈(Nickel, $0.05)의 개수, 페니(Penny, $0.01)의 개수를 구하는 프로그램을 작성하시오. 거스름돈은 항상 $5.00 이하이고, 손님이 받는 동전의 개수를 최소로 하려고 한다. 예를 들어, $1.24를 거슬러 주어야 한다면, 손님은 4쿼터, 2다임, 0니켈, 4페니를 받게 된다.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 거스름돈 C를 나타내는 정수 하나로 이루어져 있다. C의 단위는 센트이다. (1달러 = 100센트) (1출력각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구..

백준 티어(내 티어/문제 티어) 보는 법

📌내 티어 보는 법    1. 로그인 후 우측 상단의 설정을 클릭합니다.2. 좌측 메뉴에서 sloved.ac를 클릭하고3. 사용하기를 누릅니다.     사용 중으로 바뀌면, 아래 solved.ac 링크를 타고 들어가줍니다.      열린 사이트에서 백준 아이디로 로그인해 준 후 우측 상단의 프로필 아이콘을 누르면      내 프로필과 티어를 볼 수 있습니다.     📌문제 티어 보는 법1. 다시 백준으로 돌아가 설정을 클릭합니다.2. 좌측 메뉴에서 보기를 클릭합니다.3. 설정 목록 중 solved.ac 티어에서 원하는 옵션을 선택 후 저장해줍니다.    이제 문제 제목 좌측에 티어가 표시되는 것을 확인할 수 있습니다.    끝까지 읽어주셔서 감사합니다 :)Have a good day🐱📢1. 개발자..

백준 11005번 진법 변환2 (JAVA)

📌문제10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오.10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다.A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35입력첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) N은 10억보다 작거나 같은 자연수이다.출력첫째 줄에 10진법 수 N을 B진법으로 출력한다. 예제 입력)60466175 36 예제 출력)ZZZZZ  📌답import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public ..