일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 풀이
- 별 찍기 10
- 스택의 특징
- c#
- 백준 17471
- dfs
- ㅣ풀이
- 시간 복잡도
- 백준 17822
- 백준
- 5397
- 조세퍼스 순열
- 버킷 정렬
- 원판 돌리기
- 백준 2447
- 구현
- 해시구현
- 해시 구현
- 백준 1406
- 백준 17779
- 게리멘더링2
- C/C++ 구현
- 백준 1158
- heap
- qorwns
- 백준 5397
- 1764
- AVL 시간 복잡도
- 자료구조
- Stack 이란
- Today
- Total
목록알고리즘 문제풀이/백준 (178)
홍시홍의 프로그래밍
분류 구현 요구사항 주어진 입력을 iSharp 형으로 바꿔서 출력하기 풀이 문제에서 주어지는 것은 변수형1 변수이름 그리고 변수이름 뒤에 붙어나오는 변수형2 변수형 1은 초반에 처리 변수형 2는 변수명을 처리해준 뒤에 처리해준다 변수형 2를 이루는 문자는 &, *, [, ]밖에 없으니 모두 조건 처리해주면 풀 수 있다 #include #include #include #include #include #include #include using namespace std; string bro; vector name; deque name_bro; int main() { string str; int flag = 0; string brotemp; string nametemp; getline(cin, str); for..
분류 dfs 요구사항 주어진 연산자와 숫자를 사용해서 최대 값과 최소 값 구하기 풀이 숫자는 고정되어 있으니, 연산자의 순서만 고려하면 된다 주어진 숫자대로 연산자를 사용할 수 있다. 조건이 만족할때 연산자를 사용 -> 다음 이동 식으로 풀이하면 된다 ㄹ #include #include #include #include #include #include using namespace std; //&:0 *:1 [] :2 int n; int map[14]; int a, b, c, d; long long Mans = -987654321; long long mans = 987654321; // 플 마 곱 나 void solve(int x, int y, int w, int z, long long sum,int cnt..
분류 구현 요구사항 양에게 늑대가 접근하지 못하도록 벽 쌓기 풀이 모든 빈칸에 벽을 쌓아보고 늑대가 양에게 접근할 수 있는지 판단한다 위 경우, 양 바로 옆에 늑대가 있는 경우에만 접근이 가능하다 #include #include #include #include #include #include #include #include using namespace std; struct go{ int x; int y; }; int n,m; char map[501][501]; vector v; int dr[4] = {-1,0,1,0}; int dc[4] = {0,-1,0,1}; int main(){ scanf("%d%d",&n,&m); for(int i=0 ; i < n ; i++){ for(int j=0 ; j
분류 dfs 요구사항 최대로 이익을 얻을 수 있도록 상담 날자 정하기 풀이 n이 15로 작다. 모든걸 다 탐색 해보면 된다 1. 현재 요일 선택안하고 진행할 경우 2. 현재 요일 선택하고 진행할 경우 dfs를 사용하여 두가지를 탐색해본다 #include #include #include #include #include #include #include #include using namespace std; int t[20]; int p[20]; int n; int ans=0; void solve(int now, int sum){ if(now==n+1){ ans=max(sum,ans); return; } //현재꺼 선택 안함 solve(now+1,sum); //현재꺼 선택 if(now+t[now]