BOJ :: 백준 :: 1937 :: 욕심쟁이 판다 출처 : https://www.acmicpc.net/problem/1937 #include #include using namespace std; int N, ans;int map[501][501], dp[501][501];int dir[4][2] = { {1,0},{-1,0},{0,1},{0,-1} }; inline bool check(int i, int j) { return ((i >= 0 && j >= 0 && i < N && j < N) ? true : false); } int dfs(int i, int j) {if (dp[i][j]) return dp[i][j];dp[i][j] = 1;for (int d = 0; d < 4; d++) {int n..
알고리즘 문제를 풀때 시간초과가 걸리는 경우가 종종 있다.시간이 초과 된다면 알고리즘이 틀린 경우이며 새로운 방법으로 가거나 조건을 추가해서 반복이나 재귀를 줄여야 한다. 그리고 대회 같은 경우에 제출한 수 만큼 점수를 깎는 경우도 있다. 따라서 내가 짠 코드의 시간을 미리 측정해 제한 시간에 넉넉하게 통과하는지 보아야 한다. 이를 위해 clock() 함수를 이용한다. c는 , c++은 헤더를 추가하여 사용한다. #include #include using namespace std; int main() {clock_t start = clock(); // 시간을 시작하고자 하는 코드 줄 cout
BOJ::15683::감시 출처 : https://www.acmicpc.net/problem/15683 #include using namespace std; int N, M, vs, a[8][8], ans,dy[] = { -1,0,1,0 }, dx[] = { 0,1,0,-1 }, nc[6] = { 0,1,2,2,3,4 }, cc[6][4] = { {},{0},{0,2},{0,1},{0,1,3},{0,1,2,3} };vector v; int cal(int vi, int res) {if (vi == vs) return res;int ta[8][8], tmp = 65; memcpy(ta, a, sizeof(a));auto tp = v[vi];for(int i=0;i= 0 && nx < M&&a[ny][nx] ..
문제를 풀 때 조건 N이 10억이상이 되는 경우가 많다. 이럴 때 그냥 코드를 짜면 시간제한에 걸리거나 메모리 제한으로 틀리는 경우가 많았다. 아직은 공부를 하는 단계라 이러한 경우 명확한 해답을 내지는 못했다. 그러나 이런 경우 배열보다는 다른 자료구조를 사용해서 풀면 좀 더 효율적이었다. vector, list, queue 등 자료구조들의 특징을 좀 더 공부해서 문제의 특성에 맞는 효율적인 자료구조를 짜는 것이문제해결로 가는 지름길인 것 같다. 이러한 자료구조는 프로그램의 시간, 메모리 등을 좌우하는 굉장히 중요한 요소라는 것을 다시 한번 깨달았다. 작성자 : 히더
알고리즘 문제를 풀다 보면 몇가지 케이스에 대해 틀리는 경우가 있다. 이러한 경우 대부분 전반적인 논리가 틀리지 않았으면특별한 케이스, 조건의 최대 값일 때, 최소 값일 때, 범위 제한 등을 고려해야한다. 대부분의 문제에서 예제 케이스로 주는 경우는 이러한 최악의 경우를 주지는 않는다. 그래서 최악의 경우를 대비해 시간, 메모리 등을 고려해야한다. 이때, 직접 최대 케이스를 만들어서 돌려보는 것이 좋다. 예제 케이스가 맞다고 제출하는 것이 아니라 최악의 경우의 케이스를 직접 만들어 돌려본다. input값을 넣기 힘든 숫자의 경우이면 코드로서 케이스를 만들어 돌려보면 된다. 작성자 : 히더
SWEA::2382::미생물 격리 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV597vbqAH0DFAVl #include #include #include using namespace std; struct me {int ii, jj, num, d,ttmp;}; int N, M, K;int dir[5][2] = { {0,0}, {-1,0},{1,0},{0,-1},{0,1} };vector m; int cal(int time, int me_n) {while (time--) {for (int i = 0; i < m.size(); i++) { // movem[i].ii += dir[m[i].d][0];..
SWEA::2383::점심 식사시간 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5-BEE6AK0DFAVl #include using namespace std; struct P { int y, x; };int T, t = 1, N, a[10][10], c[10], s[2], ans, pn, ps=0;vector vp,vs[2]; vector q[2]; int cal(int r) {q[0].clear(); q[1].clear();for (int i = 0; i < pn; i++) q[c[i]].push_back(vs[c[i]][i].y);sort(q[0].begin(), q[0].end()); ..
SWEA::1244::최대 상금 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15Khn6AN0CFAYD #include #include #include using namespace std; int N, K, ans;char tmp[256];string s; void cal(int cnt, int now) {if (cnt == K) {ans = max(ans, stoi(s));return;} for (int i = now; i < s.size(); i++) {for (int j = i; j < s.size(); j++) {if (i == j)continue;if (s[i]
- Total
- Today
- Yesterday
- 미세먼지 안녕!
- 게리맨더링 2
- SWEA
- 백준
- 17142
- string
- 팁
- 새로운 게임 2
- 17140
- 17144
- STL
- DP
- 17143
- 2018 KAKAO BLIND RECRUITMENT
- 입출력
- 삼성
- 17837
- hackerrank
- 시간 복잡도
- boj
- 트렌드
- 알고리즘
- DFS
- 이차원 배열과 연산
- SW Expert Academy
- 17779
- 2018 카카오 블라인드 채용
- 역량 테스트
- scanf
- 연구소 3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |