분류 전체보기(99)
-
프로그래머스 연속 부분 수열 합의 개수 C++
완전 탐색으로 구현 가능한 문제이다. 자세한 것은 주석 보세요 #include #include #include using namespace std; int ele[10000001]; int solution(vector elements) { unsigned long long answer = 0; for (int i=1;i
2023.09.18 -
프로그래머스 모음사전 C++ dfs
#include #include #include using namespace std; char alpha[5] = {'A', 'E', 'I', 'O', 'U'}; int answer, cnt; void dfs(string s, string word){ if (s==word){ answer=cnt; return; } if (s.length()>=5){ return; } for (int i=0;i
2023.09.17 -
프로그래머스 리코쳇 로봇 C++
#include #include #include #include using namespace std; int visited[101][101]; int stx, sty; int row_length, col_length; int dx[4]= {-1, 1, 0, 0}; int dy[4]={0, 0, -1, 1}; int bfs(vector board){ queue q; visited[sty][stx]=0; q.push({stx, sty}); while (!q.empty()){ int x = q.front().first; int y = q.front().second; q.pop(); if (board[y][x]=='G'){ return visited[y][x]; } for (int i=0;i=0 &&nx+dx[..
2023.09.17 -
백준 14503 C++ 로봇청소기
문제는 단순 구현 문제였다. 예제 2번에 대한 답이 계속해서 나오지 않아 고민했는데, '바라보는 방향의 뒤쪽 칸이 벽이면 후진할 수 없다' 라는 것을 기억해야한다. 즉 청소한 칸의 경우는 후진할 수 있다. 이 부분을 없애니 바로 맞았다. #include #include using namespace std; int N, M, cnt; int room[51][51]; int dx[4] = { 0, 1, 0, -1 }; int dy[4] = { -1, 0, 1, 0 }; int x, y, dir; int move(void) { int nx, ny; if (room[y][x] == 0) { // 청소가 되어 있지 않으면 청소한다 room[y][x] = 2; cnt++; return 1; } for (int i ..
2023.09.15 -
서울대학교 논문 자격 제출 시험 후기
시험 시간은 40분이고 시험 사이에 10분 간의 준비 시간이 있습니다. 알고리즘만 대충 기출이 기억이 납니다 첫번째 시험에는 mergesort의 코드를 써야하는 것이 나왔고 두번째 시험에는 여러 알고리즘의 시간 복잡도를 쓰는 것이 나왔습니다 세번째 시험에는 BST관련해서 inorder search, preorder search, postorder search가 나왔습니다 간단한 문제였지만 세번째 시험은 공지된 교과서에는 없던 문제여서 당황했습니다 다행히 예전에 공부한 것을 바탕으로 쳤습니다 합격 하겠쪼 ??? ㅎㅎㅎㅎㅎ ㅠㅠㅠ 붙었습니다 ~ 다들 알고리즘 보세요 역대급 개꿀 냠냠 과목입니다
2023.09.08 -
백준 14500 테트로미노 c++ (dfs)
풀이 dfs 문제이다. 테트로미노들은 모두 4칸으로 이루어져있고, 사실상 dfs depth를 4로 했을 때 갈 수 있는 최대값이 도형들의 모양이 되는 것을 확인할 수 있다. 따라서 dfs를 depth 4로 해서 최대값을 구현하면 된다. 배열에 있는 모든 점에 대해서 수행을 해야한다. 그리고 ㅗ 모양에 대해서는 완전 탐색으로 구현하면 된다 for (int i = 0;i < N;i++) { for (int j = 0;j < M;j++) { visited[i][j] = 1; dfs(j, i, 1, arr[i][j]); visited[i][j] = 0; check(j, i); } } 메인함수의 일부분이다. 이 함수를 보면, dfs를 통해서 depth 4인 탐색을 수행한다. check는 매뉴얼하게 ㅗ 모양의 도형..
2023.09.01