백준(722)
-
[백준/BOJ] 백준 1149번 : RGB거리
https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net A번째 집부터 색칠해 나아갈 때, A-1의 색과 다른 색(A가 0번째 집일 때는 어떤 색이던지 상관없다)을 고르면서 전체 집을 칠하는 비용이 최소인 비용을 구한다. 코드 #include #include #include #include using namespace std; int cache[1000][4]; int n; vector rvalue; vector gvalue; ve..
2020.07.20 -
[백준/BOJ] 백준 11726번 : 2×n 타일링
https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 2Xn 직사각형을 왼쪽부터 2X1타일로 채운 경우와, 1X2타일 2개로 채운 경우를 모두 고려한다. 코드 #include #include using namespace std; int cache[1001]; int MOD = 10007; int solve(int n) { //기저 사례 if (n == 2) return 2; else if (n == 1) return 1; int& ret = cache[n]; //ret가..
2020.07.20 -
[백준/BOJ] 백준 9095번 : 1, 2, 3 더하기
https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 www.acmicpc.net 정수 n을 1,2,3의 합으로 나타내는 방법은, n에서 1을 선택하고 n-1에 대해 1,2,3의 합으로 나타내는 방법과 n에서 2을 선택하고 n-2에 대해 1,2,3의 합으로 나타내는 방법과 n에서 3을 선택하고 n-3에 대해 1,2,3의 합으로 나타내는 방법을합친것이다. 코드 #include #include using nam..
2020.07.20 -
[백준/BOJ] 백준 1463번 : 1로 만들기
https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 정수 n이 3으로 나누어 떨어진다면 3으로 나누는 연산, 2로 나누어 떨어진다면 2로 나누는 연산, 1을 빼는 연산 중에서 연산된 값의 1을 만드는 데 사용되는 연산의 사용 횟수가 최소인 것을 고르면 정수 n이 1을 만드는 데 사용되는 연산의 최소 횟수를 구할 수 있다. cache를 사용해 이미 계산된 값은 중복해서 다시 계산하는 것을 방지하였다. 코드 #include #include #include using namespace std; int cache[1000001]; int solve(int n) { in..
2020.07.20 -
[백준/BOJ] 백준 10950번 : A+B - 3
https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net a와 b를 입력받고 a+b를 출력하는것을 t만큼 반복한다. 코드 #include using namespace std; int main() { cin.tie(NULL); ios_base::sync_with_stdio(false); int t; int a, b; cin >> t; //테스트 케이스 만큼 반복한다 for (int i = 0; i > a >> b; cout
2020.07.18 -
[백준/BOJ] 백준 2739번 : 구구단
https://www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net for문을 이용해 n단을 형식에 맞게 출력한다. 코드 #include using namespace std; int main() { cin.tie(NULL); ios_base::sync_with_stdio(false); int n; cin >> n; for (int i = 0; i < 9; i++) { //형식에 맞게 출력한다 cout
2020.07.18