일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- 5639
- 1759번
- 언리얼 커스텀 플러그인
- OS
- 1253번
- UnrealMP
- 백준
- objtofbx
- 실습
- hackerank
- 의미와 무의미의 경계에서
- 트랜잭션 관리
- C++
- 데이터베이스 배움터
- 1967번
- 민겸수
- FBX
- 2단계로킹
- oracle
- UActor
- Security
- Linux
- SQL
- 셰그먼트트리
- 백준 1253번
- 언리얼 플러그인
- 비재귀셰그먼트
- command not found
- 오손데이터읽기
- Unreal
- Today
- Total
목록코딩 인터뷰/C++ (29)
fatalite
Problem 난이도: 골드 4 분류: 이분 그래프, 그래프, 그래프 탐색 Solution #include #include #include #include using namespace std; int main() { int TestCase; cin >> TestCase; for (int i = 0; i > V >> E; vector AdjList(V+1); for (int k = 0; k > a >> b; AdjList[a].push_back(b); AdjList[b].push_back(a); } set VisitedNode; queue q; vector ParentNode(V + 1); for ..
Problem 레벨 : 골드 5 분류 : 이분 탐색, 두 포인터 접근 : 처음에는 완전 탐색 + 중복 없애기로 했음 방법 : 이분 탐색과 포인터 두 개를 움직인다는 게 중요한 아이디어였다. Solution #include #include #include using namespace std; vector list; pair combination = { 1000000001,10000000001 }; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n; cin >> n; for (int i = 0; i > a; list.push_back(a); } int low = 0..
Problem 티어 실버 1 분류 Dynamic Programming(Bottom-Up) 접근 해결 못했었음 1) 첫 번째로 재귀(순열)로 접근(경우의 수가 기하급수적으로 되어버림), 2) DP 태그 보고 했는데 점화식 어떻게 세워야하는지 몰랐음. 걍 털림.. DP 너무 오랜만이라서 그런가..? 하고 변명을.. 풀이 문제의 구조에서 점화식을 유도 해야했음. 이런 부분이 아직 많이 부족한 것 같다. Solution #include #include using namespace std; int n,t; vector dp; vector tmp; int main() { cin >> t; //Test Case Loop for (int i = 0; i < t; i++) { tmp.clear(); dp.clear();..
Problem 티어 : 실버 1 유형 : 트리, 탐색 체감 난이도 : 쉬움 접근 : Node 구조체 및 재귀 탐색 Solution #include #include using namespace std; struct node { char name; node* left = nullptr; node* right = nullptr; }; void inorder(node u) { if (u.left != nullptr) { inorder(*u.left); } cout a >> b >> c; //cout
Info 실버 1, 다이나믹 프로그래밍 Solution #include #include using namespace std; int n; vector triangle; vector maxTriangle; int findMax(int depth, int OrderNumber) { if (n == 1) { return triangle[0][0]; } if (n == 2) { return triangle[0][0] + max(triangle[1][0], triangle[1][1]); } if (depth == n - 2) { return triangle[depth][OrderNumber] + max(triangle[depth + 1][OrderNumber], triangle[depth + 1][OrderNum..
Problem 백 트래킹, 완전 탐색 Solution #include #include int n, m; int selected[10]; using namespace std; void Select(int start, int end, vector v) { if (start == end) { for (int a : v) { cout m; vector blankVector; vector tmp; //tmp 1~n for (int i = 1; i
Problem 백 트래킹, 재귀 Soultion #include #include #include int n, m; using namespace std; vector list; vector tmp; void Select(int start, int end, vector v, vector left) { if (start == end) { list.push_back(v); return; } else { if (v.empty()) { for (int i = 0; i < left.size(); i++) { vector vTmp = v; vector vv; for (int j = 0; j < i; j++) { vv.push_back(left[j]); } for (int u = i; u < left.s..
문제 정보 백트래킹, 재귀 Solution #include #include int n; int m; using namespace std; vector list; void Select(int start, int end, vector v) { if (start == end) { list.push_back(v); return; } else { if (v.empty()) { for (int i = 1; i > n >> m; vector startVector; Select(0, m, startVector); for (vector u : list) { for (int y : u) { cout
백준에서 가장 간단한 다익스트라 문제이다. 근데 겁나 헤맸다. 애초에 다른 로직은 맞는데 다익스트라의 이중 포문에서 내부 반복문이 없는 상태로 단 한 번만 갱신했더니 2%에서 계속 틀려서 멘탈이 나갔다. 다시 한 번 개념을 숙지해야겠다. 다익스트라라고 생각한 이유는, 음의 간선이 없고 정점(노드)의 개수가 크기 때문에 이를 선택했다. 난이도는 골드5 #include #include #include using namespace std; int INF = 210000000; int n, m; int price[1001][1001]; int dp[1001]; int x, y; bool isVisited[1001] = { false }; void dijkstra(int start) { priority_queue..
골드4 유니온 파인드 문제라는 것 같은데 나는 그래프 탐색처럼 풀었다. 나중에 유니온 파인드 복습해야겠다. #include #include using namespace std; int main() { // n,m int n, m; cin >> n >> m; int q; cin >> q; vector known; vector bKnown(n,false); vector bDay(m, false); for (int i = 0; i > c; known.push_back(c-1); } vector bPartys = vector(m, vector(n, false)); for (int i = 0; i > k; for (int..