본문 바로가기

수학8

[백준] 9375번 : 패션왕 신해빈(JAVA) https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 문제 해빈이는 패션에 매우 민감해서 한번 입었던 옷들의 조합을 절대 다시 입지 않는다. 예를 들어 오늘 해빈이가 안경, 코트, 상의, 신발을 입었다면, 다음날은 바지를 추가로 입거나 안경대신 렌즈를 착용하거나 해야한다. 해빈이가 가진 의상들이 주어졌을때 과연 해빈이는 알몸이 아닌 상태로 며칠동안 밖에 돌아다닐 수 있을까? 입력 첫째 줄에 테스트 케이스가 주어진다. 테스트 케이스는 최대 100이다. 각 테스트 케이스의 첫째 줄에는 해빈이가 가진 의상의 수 www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계 수학3의 카테고리에 포함되어 있는 문제이다. 경우.. 2019. 12. 5.
[백준] 11051번 : 이항 계수 2(JAVA) https://www.acmicpc.net/problem/11051 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계 수학3의 카테고리에 포함되어 있으면서 동적 계획법을 이용하여 푸는 문제이다. 이항 계수 1의 문제는 범위가 10이였지만 이번에는 1000이다. 10!의 값은 3,628,800으로 수가 10만 되어도 범위가 기하 급수적으로 증가하는데 1000!의 값은 셀 수 없는 값이 될 것이다. 나는 이항 계수의 공식에 집착한 나머지 푸는데 시간이 좀 걸렸다. 처음에는 이항 계수의 공식으로 푼 값을 .. 2019. 12. 1.
[백준] 11050번 : 이항 계수 1(JAVA) https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계 수학3의 카테고리에 포함되어 있는 문제이다. 이항 계수(Binomial Coefficient)란 : 주어진 크기의 (순서 없는)조합의 가짓수이다. 예). 5C2 = 5! / (2! * (5-2)!) = 10 N의 범위가 10까지 밖에 안되어 재귀함수로 계산을 하였다. import java.util.Scanner; public class Question_11050 { public static.. 2019. 12. 1.
[백준] 3036번 : 링(JAVA) https://www.acmicpc.net/problem/3036 3036번: 링 문제 상근이는 창고에서 링 N개를 발견했다. 상근이는 각각의 링이 앞에 있는 링과 뒤에 있는 링과 접하도록 바닥에 내려놓았다. 상근이는 첫 번째 링을 돌리기 시작했고, 나머지 링도 같이 돌아간다는 사실을 발견했다. 나머지 링은 첫 번째 링 보다 빠르게 돌아가기도 했고, 느리게 돌아가기도 했다. 이렇게 링을 돌리다 보니 첫 번째 링을 한 바퀴 돌리면, 나머지 링은 몇 바퀴 도는지 궁금해졌다. 링의 반지름이 주어진다. 이때, 첫 번째 링을 한 바퀴 돌리면, www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계 수학3의 카테고리에 포함되어 있는 문제이다. N개의 링이 주.. 2019. 11. 28.
[백준] 2609번 : 최대공약수와 최소공배수(JAVA) https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를,둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계 수학3의 카테고리에 포함되어 있는 문제이다. 최대공약수(Greatest Common Divisor)와 최소공배수(Least Common Multiple)를 구하는 문제이다. GCD를 구하는 가장 쉬운 방법은 "유클리드 호제법"을 이용하는 것이다. LCM을 구하는 방법은 두 수의 곱과 두 수의 최대공약수를 이용하여 구할 수 있다. 여담으로 유클리드 호제법은 인류 최초의 알고리즘이라고 .. 2019. 11. 27.
[백준] 11653번 : 소인수분해(JAVA) https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계 수학3의 카테고리에 포함되어 있는 문제이다. 정수 N이 주어졌을 때, 각 줄마다 소인수분해 과정을 출력하는 문제이다. 먼저 가장 작은 수인 2부터 소인수 분해를 시작하고 나누어지지 않는다면 1씩 증가시켜 나누는 방법을 선택하였다. import java.util.Scanner; public class Question_11653 { public static void main(String[] args) { Scanner sc = new S.. 2019. 11. 20.
[백준] 1037번 : 약수(JAVA) https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계 수학3의 카테고리에 포함되어 있는 문제이다. N이라는 숫자의 약수가 있을 때, 입력으로 첫번 째 줄에 1과 N을 제외한 N의 약수의 개수가 주어지고 둘 째 줄에는 그 약수들이 입력으로 들어온다. 나는 이 입력으로 들어온 숫자들의 최댓값과 최솟값을 곱하면 N이 나온다는 방법으로 문제를 해결하였다. .. 2019. 11. 20.
[백준] 5086번 : 배수와 약수(JAVA) https://www.acmicpc.net/problem/5086 5086번: 배수와 약수 문제 4 × 3 = 12이다. 이 식을 통해 다음과 같은 사실을 알 수 있다. 3은 12의 약수이고, 12는 3의 배수이다. 4도 12의 약수이고, 12는 4의 배수이다. 두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오. 첫 번째 숫자가 두 번째 숫자의 약수이다. 첫 번째 숫자가 두 번째 숫자의 배수이다. 첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니다. 입력 입력은 여러 테스트 케이스로 이루어져 있다. 각 테스 www.acmicpc.net 위의 문제는 BaekJoon Online Judge의 단계별로 풀어보기 중 16단계 수학3의 카테고리에 포함되어 있는 문제이다. 간만.. 2019. 11. 18.