본문 바로가기

Project/Algorithm31

[백준 알고리즘] 1676번(팩토리얼 0의 개수) [백준 알고리즘] 팩토리얼 문제에 이어서 팩토리얼에 관련된 문제를 하나 더 풀어보았습니다. 문제 해석 일단 이것을 어떻게 풀 것인가 생각을 해보았습니다. 너무 깊게 생각하다가 자꾸 이상하게 풀어서 쉽게 보자 생각했습니다.그래서 다시 한번 보니까 문제는 생각보다 간단했습니다.일단 한번 문제를 봅시다. N! 까지 뒤에서 부터 0이 아닌 숫자가 나올 때 까지 0의 갯수를 구하는 것 입니다.그렇다면 0이 나오려면 어떻게 해야할까요? 10이 나온다면 0이 나오게됩니다. 00이 나오려면 10*10이 되면 됩니다.다시 말하면 10이 몇 번 곱해지는지에 따라 0의 갯수가 정해집니다. 예를 들어봅시다.5! = 1 x 2 x 3 x 5 = 30 (0이 1번)6! = 1 x 2 x 3 x 5 x 6 = 180 (0이 1번).. 2017. 8. 31.
[백준 알고리즘] 10872번(팩토리얼) [백준 알고리즘] 오늘도 기본 중에 기본인 팩토리얼 알고리즘을 짜보았습니다.일단 팩토리얼에 대해 설명하겠습니다. 팩토리얼(n!) 계승이라는 이름과 팩토리얼이라는 이름 두 가지를 가지고 있습니다. 우리는 팩토리얼이 더 친숙합니다.1에서 n까지 양의 정수를 모두 곱한 값을 n 팩토리얼 또는 n계승이라고 합니다.단, 0!는 0으로 약속합니다. 문제 사실 문제는 정말 간단합니다.그냥 n팩토리얼을 구하는 알고리즘을 작성하시면 됩니다. 코드 123456789101112131415161718192021222324252627import java.util.Scanner; public class Beak10872 { public static void main(String[] args) { Scanner sc = new S.. 2017. 8. 31.
[백준 알고리즘] 11051번(이항 계수Ⅱ) [백준 알고리즘] 이항 계수 문제를 하나씩 풀다 보니 내가 몰랐던 것이 너무 많다는 것을다시 한번 알게 되었습니다. 그래서 공부 더 열심히 하려고 합니다힘냅시다 이전에 이항계수를 구하는 것은 재귀함수를 써서 구했습니다.그리고 시간복잡도 같은 것은 잘모르기도 하고 별 신경을 안쓰고 짰었습니다.하지만 저번부터 피보나치도 그렇고 이번에 이항 계수도 그렇고 앞으로도 그럴 것 같습니다.시간이 점점 중요해지고 있다는 것을요 그리고 점점 생각할 것이 많아 진다는 것도요... 여튼 이번에 풀어본 문제는 이항계수 관한 문제입니다.그리고 여기에서 우리에게 원하는 것은 동적 계획법 / 메모이제이션 으로 풀으라는 것입니다. 그렇습니다 다시 공부해야합니다. 동적 계획법(Dynamic Programming) / 메모이제이션 (출.. 2017. 8. 28.
[백준 알고리즘] 11050번(이항 계수Ⅰ) [백준 알고리즘] 오늘은 이항 계수에 대해 먼저 알아보고 문제를 한번 풀어보도록 하겠습니다.그러기 위해서는 일단 이항 계수가 뭔지 부터 알고 가야합니다. 이항 계수위키 백과사전에는 이렇게 정의가 되어있습니다. 주어진 크기의(순서 없는) 조합의 가짓수이다. 고등학교 때 분명히 했을 텐데 기억이 안나서 여기 저기 찾아봤습니다.머리가 멍청한 건지 이해가 안돼서 정말 많이 찾아봤습니다. 그래서 정확하지 않을 수 있으니 참고만 하시고 저 보다 더 나은 자료 찾으시길 바랍니다. 일단, 나눠서 이해를 해봤습니다. 이항 과 계수 이항은 등식의 성질에 의해 좌변과 우변의 등식에서 어떤 한 변에 있는 항을 부호를 바꿔서 다른 변으로 옮기는 것을 말합니다. 쉽게 이해를 돕기 위해 1 + x = 5 라는 식을 보겠습니다.여기.. 2017. 8. 25.
[백준 알고리즘] 1003번(피보나치 수열4) [백준 알고리즘] 오늘도 피보나치 수열에 관련된 문제입니다.비슷비슷한 문제인데 거기에서 fibo(1) 과 fibo(0) 이 몇번 출력 되는지 알아보는 문제입니다.문제를 보고 이해를 하시면 금방하실 것입니다. 바로 코딩을 보여 드리겠습니다. 1234567891011121314151617181920212223242526272829303132333435363738import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Scanner; public class Beak1003 { static int zero = 0; static int one = 0; public static in.. 2017. 8. 23.