본문 바로가기

전체 글29

[백준] 2609번: 최대공약수와 최소공배수 [JAVA] 출처: https://www.acmicpc.net/problem/2609 문제 두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 출력 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. 알고리즘 이번 문제는 최대공약수(GCD, Greatest Common Divisor)와 최소공배수(LCM, Least/Lowest Common Multiple)를 구하는 문제입니다. 입력되는 두 개의 자연수를 num1, num2라고 하면, 최소공배수는 두 수를 곱한 값을 두 수의 중복된 약수로 이루어진 최대.. 2022. 5. 20.
[백준] 1193번: 분수찾기 [JAVA] 출처: https://www.acmicpc.net/problem/1193 문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/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)가 주어진다. 출력 첫째 줄에 분수를 출력한다. 알고리즘 이번 문제는 주어진 숫자 위치에 있는 분수가 몇인지 .. 2022. 3. 19.
[백준] 1924번: 2007년 [JAVA] 출처: https://www.acmicpc.net/problem/1924 문제 오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. 출력 첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다. 알고리즘 이번 문제는 임의의 날짜가 주어지면 그 날의 요일을 출력하는 문제입니다. 요일은 7일 반복이므로 7로 나눈 나머지를 이용하여 .. 2022. 3. 17.
[백준] 11047번: 동전 0 [JAVA] 출처: https://www.acmicpc.net/problem/11047 문제 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 알고리즘 이번 문제는 K값에 필요한 동전 개수의 최소값을 구하는 문제입니다. 가장 최적의 .. 2022. 3. 6.