일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 구현
- 해시 구현
- c#
- 백준 17822
- 백준 2447
- 자료구조
- 5397
- 시간 복잡도
- 백준 5397
- C/C++ 구현
- ㅣ풀이
- 백준 17471
- 백준 1158
- 1764
- 게리멘더링2
- 풀이
- 원판 돌리기
- Stack 이란
- qorwns
- AVL 시간 복잡도
- 백준 17779
- 백준
- 해시구현
- 별 찍기 10
- 조세퍼스 순열
- 버킷 정렬
- 백준 1406
- dfs
- heap
- 스택의 특징
- Today
- Total
목록알고리즘 문제풀이/swea (14)
홍시홍의 프로그래밍
분류 : 구현 요구사항 원자는 이동간에 만나면 파괴된다. 파괴된 원자의 에너지 총량 구하기 풀이 1. 범위의 명확성을 위해서 +1000한다 2. 0.5 구간에서 만날 수 없으니깐 *2를 한다. 3. 이동한다 범위 넘어서면 더이상 할 필요없이 alive 0으로 설정 4. 이동한 것들 중 2개 이상겹친다면 원자 삭제 41개에서 오류가 났는데 이동 확인에서 if (atom[i].alive == 0) continue; 를 확인안해서 해멧다.. #include #include #include using namespace std; struct go { int x; int y; int dir; int power; int alive; int index; }; go atom[1100]; int dr[4] = { 0,0,..
분류 : 구현 요구사항 조건대로 구현하기 풀이 쉽게 구현하는 방법을 찾아야하는데 하드하게 n*n 행렬을 모두 탐색하며 구현도 해봤고 다른 풀이를 참조하여 미생물의 수만큼만 움직이면서 구현도 해봤다 문제를 푸는 방법은 많은거 같다 초반에 풀때 좀더 손 쉽게 풀 수 있는 방법을 찾는다면 좋다 #include #include #include using namespace std; struct go { int x; int y; int num; int dir; int alive; }; int n, m, k; go virus[1100]; int dr[5] = { 0,-1,1,0,0 }; int dc[5] = { 0,0,0,-1,1 }; //0 최대 값, 1 최대 인덱스, 2 최대 인덱스의 num int visit[1..
분류 : 구현 요구사항 충전량을 최대로하여 이동하기 풀이 map의 범위도 작고 bc의 갯수도 작고 이동 횟수도 작다 100초동안 2명의 사람이 bc에 방문하는 모든 경우의 수를 계산하면 된다 이렇게 안풀면 예외 처리해줘야 할게 너무 많다 밧데리 충전 -> ans 갱신 -> 이동 순으로 구현하면 된다. #include #include #include #include using namespace std; struct go { int c; int r; int cap; int power; }; int m, a; vector v1; vector v2; vector bc; int dr[5] = { 0,-1,0,1,0 }; int dc[5] = { 0, 0,1,0,-1 }; int map[14][14]; int an..
분류 : 구현 요구사항 1. 자물쇠 돌려서 얻을 수 있는 모든 비밀번호 구하기 2. k번째 수 10진수로 출력하기 풀이 자물쇠 돌려서 비밀번호 얻는 것은 deque나 string 혹은 배열을 이용해서 하면된다 나는 string으로 substr을 구하는 방법으로 구하였다 16진수 ->10진수 구하는 것은 for문을 이용하여 구하였다. #include #include #include #include #include using namespace std; int n, k; string str; bool com(string a, string b) { if (a > b) return true; return false; } int get_string(char a) { if (a == '0') return 0; els..