일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 스택
- asp.net core
- dfs
- 시간복잡도
- 정렬
- 탐색
- API
- maui
- 자료구조
- C#
- mysql
- quick sort
- BFS
- asp.net
- 백준
- Merge Sort
- REDIS
- docker-compose
- .net maui
- Get
- sql
- 알고리즘
- .NET
- 파이썬
- Docker
- C++
- 재귀
- 큐
- .net core
- 도커
- Today
- Total
목록백준 (5)
코젤브

https://www.acmicpc.net/problem/1388 1388번: 바닥 장식 형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나 www.acmicpc.net DFS 활용해서 풀어야할 것 같은 문제! 하지만 사실 DFS를 사용하지 않고도 풀 수 있다고 한다. 일단 DFS 공부를 위해 해당 방법을 통해 풀어보자. dfs 함수 설명 - 일때는 좌우를 확인해서 또 - 라면 재귀적으로 함수를 호출한다. | 일때도 마찬가지로 상하를 확인해서 또 | 라면 재귀적으로 함수를 호출한다. 이때 함수에서 나오게된 경우에는 한개의 막대기가 끊겼다는 의미이기 때문에 count +=..

동적계획법(Dynamic Programming) : 복잡한 문제를 간단한 여러 개의 문제로 나누어 접근하는 방법이다. 부분 문제가 반복되고 최적의 원칙을 만족하는 문제를 일반적인 방법에 비해 적은 시간 내에 풀 때 사용한다. ex) 피보나치, 정수삼각형, 이항 계수 상향식 해결법(Bottom-Up 방식) 아래에서부터 계산을 수행하고 누적시켜서 전체 큰 문제를 해결하는 방식 최적의 원칙 : 어떤 문제의 입력에 대한 최적해가 그 입력을 나누어 쪼갠 여러 부분에 대한 최적해를 항상 포함하고 있으면, 그 문제는 최적의 원칙이 적용된다고 한다. 백준 2579번: 계단 오르기 #include #define MAX 301 using namespace std; int main() { int n; int DP[301];..

백준 2750번 문제를 합병 정렬과 퀵 정렬로 각각 풀어보자. * 재귀 알고리즘: 큰 문제를 작은 문제로 쪼개고 작은 문제의 해답을 return하면서 큰 문제의 답에 접근하는 알고리즘 백준 2750번: 수 정렬하기 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 1. 합병 정렬 : 리스트를 분할하여 정렬하고 합병 // 합병 정렬 알고리즘 코드 void merge(int list[], int left, int mid, int right) { int i, ..

백준 1991번 문제: 트리 순회 https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 3주차 트리 자료구조 교육에서 배운 것처럼, 구조체를 통해 이진 트리를 구현하고 각 정의에 맞게 코드를 구성하면 된다. 전위 순위 : 루트 노드 방문 -> 왼쪽 서브트리 방문 -> 오른쪽 서브트리 방문 중위 순위 : 왼쪽 서브트리 방문 -> 루트 노드 방문 -> 오른쪽 서브트리 방문 후위 순위 : 왼쪽 서브트리 방문 -> 오른쪽 서브트리 방문 -> 루트..

스택(stack) 후입선출(LIFO: Last-In First-Out) :가장 최근에 들어온 데이터가 가장 위에 있게 되고, 또 가장 먼저 나간다. 연산 create(size) : 크기가 size인 스택을 생성함 push(element) : 스택에 새로운 원소를 삽입함 top을 먼저 증가시키고 그 위치에 원소를 삽입함 is_full() : 스택이 가득 채워져 있는지 검사함 가득 채워져 있으면 true, 하나라도 비어 있다면 false를 return pop() : 스택에서 원소 하나를 없앰 top이 가리키는 원소를 가져오고 top을 하나 감소시킴 is_empty() : 스택이 비어 있는지 검사함 스택이 비어 있으면 true, 비어 있지 않으면 false를 return 배열로 구현한 소스코드 #include..