백준
-
#백준 1463번 #파이썬 #알고리즘 #문이과통합중Algorithm 2021. 5. 12. 13:40
### 문제설명 # 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. # X가 3으로 나누어 떨어지면, 3으로 나눈다. # X가 2로 나누어 떨어지면, 2로 나눈다. # 1을 뺀다. # 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. ### 제약조건 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. ### 예제입력 10 ### 예제출력 3 ### 문제해석 다이나믹 프로그래밍 문제. 문제를 해석하고 N 을 1~3까지 고정값으로 정해보면은 [0,1,1] 후에 N 에 4이상을 대입해보면은 DP[n] = DP[n-1] + 1 DP[n] = DP[n//3] + 1 DP[n] = DP[n//2..
-
#백준 1149번 #파이썬 #문제풀이Algorithm 2021. 5. 10. 12:39
### 문제설명 RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자. 1번 집의 색은 2번 집의 색과 같지 않아야 한다. N번 집의 색은 N-1번 집의 색과 같지 않아야 한다. i(2 ≤ i ≤ N-1)번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다. ### 예제입력 3 26 40 83 49 60 57 13 89 99 ### 예제출력 96 ### 출력 첫째 줄에 모든 집을 칠하는 비용의 최솟값을 출력한다. ### 문제풀이 1 문제를 잘못이해하고 풀이한 ..
-
#백준 1904번 #파이썬 #문제풀이Algorithm 2021. 5. 7. 14:22
### 문제설명 - 1,0 을 주어진 n자리에 각각 할당할 수 있는 수열의 경우의 수를 구하여라. - 제한조건: 1은 단독으로 사용 가능. 0은 단독으로 사용불가능. 따라서 00 과 같이 연속된 0으로만 사용가능. - 예시) n = 2 면은 [11, 00] 의 경우가 성립. 10, 01은 성립할 수 없음. ### 문제풀이 n=1 , [1] 1 n=2 , [11, 00] 2 n=3 , [111,100, 001 ] 3 n=4 , [1111, 1100, 1001, 0000, 0011] 5 - 4번을 만드는 요령은, n=3 일때의 요소 앞에 1 이 붙었을 경우, 뒤에 00이 붙었을 경우를 가정해서 중복수를 지워주면 된다. # Solution import sys input = sys.stdin.readline n..