백준알고리즘(34)
-
[백준(baekjoon) 9095] 1, 2, 3 더하기
[백준(baekjoon) 9095] 1, 2, 3 더하기 문제 백준 9095 정수 n이 주어졌을 때, n을 1,2,3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 예시 n = 4; 1+1+1+1 / 1+1+2 / 1+2+1 / 2+1+1 / 2+2 / 1+3 / 3+1 input 첫째줄 : T(테스트 개수) 그 다음 줄 부터 : n(11보다 작은 자연수, T번 반복됨) 해결 우리가 찾고자 하는 수는 1, 2, 3의 조합이다. 즉, 쉽게 생각해 1, 2, 3으로 각각 시작하는 경우의 수를 모두 찾아보면 답이 나온다. 예를 들어 n = 6라고 할 때, 1, 2, 3 을 기준으로 생각해 본다면, 6 = 1 + 5, 6 = 2 + 4, 6 = 3 + 3로 나타낼 수 있다. 즉 n = 6의 경우,..
2018.06.26 -
[백준(baekjoon) 11726] 2×n 타일링
문제 백준 11726 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 주의 할 것은 출력이 10007을 나눈 나머지 라는 것..! (이거 안 읽고 계속 틀렸었다…. 문제는 제대로 읽어야 한다..) 해결 처음에는 width 2인 정사각형이 몇 개가 들어가는 지에 따라 경우의 수를 나누어 보았는데, 결과적으로 더 쉬운 패턴을 발견할 수 있었다…. 1.n = 1 : answer = 1 2.n = 2 : answer = 2 3.n = 3 : answer = 결론적으로, 이러한 점화식 형태를 보인다. 그러니 우린 간단하게 점화식을 풀면 됨..! 알고리즘 DP로 풀었고, bottom-up 방식이랑 top-down 방식으로 각각 풀었다. 모두 알테지만, 다시 한번 간..
2018.06.20 -
[백준(baekjoon) 6064] (최대공약수/규칙 찾기) 카잉 달력
[백준(baekjoon) 6064] (최대공약수/규칙 찾기) 카잉 달력 문제 백준 6064 M, N, X, Y가 주어질 때 가 몇 번째 해인지 구하여라. 단, 답이 존재 하지 않는 다면 -1 1
2017.12.01 -
[백준(baekjoon) 2609] 최대공약수, 최소공배수(GCD/LCM) 원리/코드/유클리드 호제법
[백준(baekjoon) 2609] 최대공약수, 최소공배수(GCD/LCM) 원리/코드/유클리드 호제법 문제 백준 2609 최대공약수(GCD) 와 최소공배수(LCM) 를 구하시오. 원리 최대공약수 : 유클리드 호제법 사용 최소공배수 : 최대공약수 활용 유클리드 호제법 GCD(A, B) = A, B의 최대공약수 r = A % B 일 때, GCD(A, B) = GCD(B, r)이다. 단, r == 0이면 GCD(B, r) = B이다. 딱 r = A % B = 0으로, 딱 나누어 떨어지므로 최대공약수는 B 예시 A = 24, B = 82 GCD(24, 82) r = 24 % 82 = 24 r > 0 -> GCD(82, 24)호출 GCD(82, 24) r = 82 % 24 = 10 r > 0 -> GCD(24, ..
2017.11.13