Computer Science
-
[백준, 별 찍기]Computer Science/백준 Boj 2023. 11. 6. 16:52
https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 접근법 재귀를 통해서 풀고, 가운데 부분은 별을 그리지 않을 것이므로 재귀를 사용하지 않는다. N이 3이 되는 순간 별을 그린다. if (3 == N) { print_star(star, sColumn, eColumn, sRow, eRow); return; } N != 3이면 3분할 후 3번의 재귀를 호출한다. i와 j가 1인 경우는 재귀를 호출하지 않는다. if (i =..
-
[백준 재귀] 하노이 탑 이동 순서 C++ (복습 필요)Computer Science/백준 Boj 2023. 10. 28. 02:10
시간 복잡도는 이해가 안갔다. 탑이 2개 일 때 옮기는 알고리즘이 재귀적으로 일어나야 하기 때문에 2인 경우를 예로 문제를 풀었다. 1 2 1 3 2 3 위 순서 대로 출력어야 하므로 입력 인자가 a b c 순서로 주어지면 a -> b , a -> c(출력), b ->c 순서로 알고리즘을 짯다. #include #include using namespace std; void hanoi(int start, int mid, int end, int n) { if (n == 1) { cout
-
[백준, DP] 연속합 C++(복습필요)Computer Science/백준 Boj 2023. 10. 24. 19:53
https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 접근법 인덱스 계산 기억값 최대값 1 10 - 4 6 10 2 6 + 3 9 10 3 9 + 1 10 10 4 10 + 5 15 15 5 15 + 6 21 21 6 21 - 35 -14 21 7 -14 + 12 12 21 8 12 + 21 33 33 9 33 - 1 32 33 #include #include using namespace std; int main() { int n = 0; int answer ..
-
[백준, DP] 파도반 수열 C++Computer Science/프로그래머스 2023. 10. 24. 19:10
https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net #include #include using namespace std; int main() { int N = 0; int num = 0; cin >> N; vector DP = vector(101, 0); DP[0] = 1; DP[1] = 1; DP[2] = 1; for (int i = 3; i > num; cout
-
[백준 조합] 제출 C++Computer Science/백준 Boj 2023. 10. 23. 21:18
https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net #include #include using namespace std; int factorial(int N) { if(N == 1 || N == 0) return 1; return N * factorial(N - 1); } int main() { int N = 0; int M = 0; cin >> N >> M; cout
-
[백준 조합] 팩토리얼 C++Computer Science/백준 Boj 2023. 10. 23. 21:17
https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net #include #include using namespace std; int factorial(int N) { if(N == 1 || N == 0) return 1; return N * factorial(N - 1); } int main() { int N = 0; cin >> N; cout
-
[백준 조합] 녹색거탑 C++Computer Science/백준 Boj 2023. 10. 23. 21:15
https://www.acmicpc.net/problem/24723 24723번: 녹색거탑 Naver D2를 아시나요? D2는 For Developers, By Developers의 약자로, 개발자들을 위해 개발자들이 직접 만들어 가고 있는 네이버 개발자 지원 프로그램입니다. 네이버가 축적한 기술과 지식을 공유하고, 외 www.acmicpc.net #include #include using namespace std; int main() { int N; cin >> N; cout
-
[백준 조합] 베라의 패션 C++Computer Science/백준 Boj 2023. 10. 23. 21:15
https://www.acmicpc.net/problem/15439 15439번: 베라의 패션 베라는 상의 N 벌과 하의 N 벌이 있다. i 번째 상의와 i 번째 하의는 모두 색상 i를 가진다. N 개의 색상은 모두 서로 다르다. 상의와 하의가 서로 다른 색상인 조합은 총 몇 가지일까? www.acmicpc.net #include #include using namespace std; int main() { int N = 0; cin >> N; cout