Python

    팩토리얼 0의 개수[백준1676] - python

    팩토리얼 0의 개수[백준1676] - python

    정답 코드 먼저 살펴보자 import sys n = int(sys.stdin.readline()) two_count = 0 five_count = 0 two = 2 while two

    합분해[백준 2225] - python

    합분해[백준 2225] - python

    기본적인 다이나믹 프로그래밍이다. 배열을 그리고 초반 몇개를 직접 시도해보면 규칙이 보일거다 정답 코드 먼저 보자 n, k = map(int, input().split()) dp = [[0] * (k+1) for _ in range(n+1)] dp[0][0] = 1 for i in range(0, n+1) : for j in range(1, k+1) : dp[i][j] = dp[i-1][j] + dp[i][j-1] print(dp[n][k] % 1000000000) k = 1 인경우 모든 숫자는 1이다. k = 2 인경우 모든 숫자는 (n+1)을 가진다. n=2: (0,2)(1,1)(2,0) n=3: (0,3)(1,2)(2,1)(3,0) n=4: (0,4)(1,3)(2,2)(3,1)(4,0) k= 3 인..

    2로 몇 번 나누어질까[백준 1407] - python

    2로 몇 번 나누어질까[백준 1407] - python

    이 문제는 크로아티에서 고등학생 대상으로 나온 문제다. 상당히 애를 먹었던 문제다.(아직 멀었나 보다) 코드 먼저 살펴보자 a,b = map(int, input().split()) def calc(number) : if number == 0 : return 0 elif number == 1 : return 1 elif number % 2 == 0 : return number // 2 + 2 * calc(number // 2) elif number % 2 == 1 : return number // 2 + 2 * calc(number // 2) + 1 print(calc(b) - calc(a-1)) 애를 먹었던 거에 비해서는 굉장히 간단하다. 규칙만 잘 찾으면 절대 어렵지 않은 문제다. 그 규칙에 대해서 아..

    전구와 스위치[백준 2138] - python

    https://www.acmicpc.net/problem/2138 2138번: 전구와 스위치 N개의 스위치와 N개의 전구가 있다. 각각의 전구는 켜져 있는 상태와 꺼져 있는 상태 중 하나의 상태를 가진다. i(1 < i < N)번 스위치를 누르면 i-1, i, i+1의 세 개의 전구의 상태가 바뀐다. 즉, 꺼져 www.acmicpc.net 1년 전에 풀때 못풀었던 문제다. 이번에 풀게되었는데 이번에도 실패다. (고마워요 다른 블로거 포스팅들) 다음엔 꼭 성공하리... 다음에 실패하지 않기 위해 이번에는 생각을 정리해서 글을 남겨둘 거다. 다음에 풀 나에게 힌트가 되기를 바라며... 정답 코드 먼저!!! n = input() first = list(input()) target = list(input()) ..