본문 바로가기

백준667

[백준] 단계별로 풀어보기(단계:17,정수론 및 조합론,JAVA)1010번, 다리놓기 문제 링크 1010번: 다리 놓기 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 이 문제는 서쪽에 있는 사이트만큼 동쪽에 있는 사이트를 고르는 문제입니다. 전체 몇 개에서 몇개를 구한다는 것은 이항계수를 뜻합니다. = nCm 그래서 예제 입력을 살펴보면 서쪽 사이트 : 2개 동쪽 사이트 2개 = 1 서쪽 사이트 : 1개 동쪽 사이트 5개 = 5 서쪽 사이트 : 13개 동쪽 사이트 29개 = 67863915 이항계수란 이항정리로 전개하였을 때 조합의 가짓.. 2022. 2. 6.
[백준] 단계별로 풀어보기(단계:17,정수론 및 조합론,JAVA)11051번, 이항 계수 2 문제 링크 11051번: 이항 계수 2 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 이 문제에서 규칙에 대한 알고리즘을 살펴보면 전에 이항계수란 이항정리로 전개하였을 때 조합의 가짓수를 나타내는 것으로공식은 nCm 일 때 n!/m!(n-m)! 0≤k≤n 0 kn 예를 들어₄C₂ = 4!/2!(4-2)! = (4×3×2×1)/(2×1)(2×1) = 6 하지만 알고리즘으로 표현할 때 재귀를 통해 모든 숫자를 곱하고 약분할 경우 시간초과가 발생할 수 있습니.. 2022. 2. 6.
[백준] 단계별로 풀어보기(단계:17,정수론 및 조합론,JAVA)11050번, 이항 계수 1 문제 링크 11050번: 이항 계수 1 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 이 문제에서 규칙에 대한 알고리즘을 살펴보면 전에 이항계수란 이항정리로 전개하였을 때 조합의 가짓수를 나타내는 것으로공식은 nCm 일 때 n!/m!(n-m)! 0≤k≤n 0 kn 예를 들어₄C₂ = 4!/2!(4-2)! = (4×3×2×1)/(2×1)(2×1) = 6 알고리즘을 살펴보면 n-m은 n!에서 무조건 약분이 되기 때문에 (n-m) 2022. 2. 5.
[백준] 단계별로 풀어보기(단계:17,정수론 및 조합론,JAVA)3036번, 링 문제 링크 3036번: 링 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 이 문제에 예제 입력을 통해 알고리즘을 알아보면 예제 입력1. 8 4 2 8/4 -> 2/1(최대공약수 : 4) 8/2 -> 4/1(최대공약수 : 2) 예제 입력2. 12 3 8 4 12/3 = 4/1(최대공약수 : 3) 12/8 = 3/2(최대공약수 : 4) 12/4 = 3/1(최대공약수 : 4) 규칙을 보면 첫 값에 다음 링들의 값들을 나눈 후에 약분을 취해주는데 더 이상 약분.. 2022. 2. 5.
[백준] 단계별로 풀어보기(단계:17,정수론 및 조합론,JAVA)2981번, 검문 문제 링크 2981번: 검문 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 이 문제에서 규칙에 대한 알고리즘을 살펴보면 전에 어떤 수를 표현할 때 나누고 나머지로 표현한다면N = n*a + r(N : 수, n: 나누는 값, a: 나눈후 값, r : 나머지)22 = 4*5 + 2 (22를 4로 나누는 형태로 나태낸 값) 문제에서는 모든 숫자의 나누었을 때 나머지가 모두 같은 값을 구하는 것으로 식으로 표현하면 N₁ = n * a₁ + r₁ N₂ = n *.. 2022. 2. 5.
[백준] 단계별로 풀어보기(단계:17,정수론 및 조합론,JAVA)1934번, 최소 공배수 문제 링크 1934번: 최소공배수 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 이 문제에서 규칙에 대한 알고리즘을 살펴보면 (첫 번째 숫자 = num1, 두 번째 숫자 = num2) 처음 문제를 접근할 때에 아래와 방식으로 접근하려고 했으나 1, 45000이 나오면 시간 초과가 발생할 것이라고 생각하여 정규화된 알고리즘이 있나 구글링을 진행하였습니다. 최소 공배수: for문을 통하여 반복하여 입력된 두 숫자를 증가시키면서 같아지면 반복을 종료하고 종료.. 2022. 2. 4.