일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 카카오인턴
- 스마일게이트
- 중반부
- 식단
- IBK기업은행 #기업은행 #디지털 #직무 #정리
- 백준
- Algorithm
- 소감
- 유니온파인드
- c++
- BFS
- BaekJoon
- 코테
- 코딩테스트
- 삼성 #코테 #2020상반기 #c++
- Union-find
- LIS #Algorithm #요소추적
- 서버개발캠프
- 알고리즘
- Smilegate
- 투포인터
- 1편
- 카카오
- 보석쇼핑
- Today
- Total
목록전체 글 (222)
짱아의 개발 기록장
backtracking문제를 너무 오랜만에 풀어서 약간 푸는 데 생각보다? 오래걸렸다. [문제 설명] Input: candidates = [2,3,6,7], target = 7 다음과 같이 배열이 주어지면 그 안에서 합이 target이 될 수 있는 조합을 찾는 문제이다. 위와 같은 input이라면, Output: [[2,2,3],[7]] 이러한 결과가 나올 수 있다. 주의할 점은!! [2, 2, 3] = [2, 3, 2] = [3, 2, 2] 모두 같은 값으로 취급한다는 것! [메인 로직] dfs함수의 인자값으로 지금까지의 값의 합 / 지금까지의 값들을 넣는 벡터 / candidates벡터 / target값 / 다음에 탐색을 시작할 idx값을 넣어주었다. 만약, 다음에 탐색을 시작할 idx값을 넣어주지 ..
1 2 3 OwnerController ownerController = new OwnerController(); OwnerController bean = applicationContext.getBean(OwnerController.class); cs 위의 객체인 ownerController와 아래 객체인 bean은 전혀 다른 방향성의 객체이다. ownerController는 진짜 그냥 객체인 반면, bean은 applicationContext에서 관리하는 빈(Bean)이다! 따라서, 이렇게 Spring의 applicationContext에서 관리하는 빈(Bean)들만 서로 의존성 주입(DI)을 할 수 있다, 그럼! 어떻게 Spring 컨테이너 안에다가 Bean을 만들어주느냐? (크게 3가지 방법) 1. ..
마찬가지로, 트리를 기반으로 한 BFS문제이다. [메인 로직] queue를 pair형태로 다음과 같이 자료구조를 짰다. => queue q; second 위치에 dir변수를 두어서 dir==-1일 경우 거꾸로 저장하도록 했다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647class Solution {public: vector zigzagLevelOrder(TreeNode* root) { vector ans; if(root==NULL){ return ans; } vector v; queue q; q.push(make_pair(root, 1)); while(!q.empty()){ int size = q..
BFS를 통해서 간단하게 해결할 수 있는 문제이다. [메인 로직] 간단히 말해서, 같은 level에 있는 값들을 하나의 벡터에 넣어주고 그것을 다시 최종 ans벡터에 넣어주는??? 그런 로직이다. 코드를 보면 더 잘 이해가 될 것이라 생각한다. 1234567891011121314151617181920212223242526272829303132333435class Solution {public: vector levelOrder(TreeNode* root) { vector ans; if(root==NULL){ return ans; } vector v; queue q; q.push(root); while(!q.empty()){ int size = q.size(); for(int i=0; ival); q.pop..
난이도는 easy였지만...생각보다? 이런 문제류를 처음 풀어본 사람이면 충분히 어려웠을 만한 문제였다. 분류로는 BFS로 되어 있었지만,,, 생각보다 간단한 재귀로 풀 수 있다. [메인 로직] 1. 주어진 root 트리를 각각의 다른 트리라고 생각하고 2개의 트리를 비교하는 형식으로 진행한다. 2. 즉, isMirror(root, root) 함수를 돌아서 tree1->left와 tree2->right이 같은지, tree1->right과 tree2->left가 같은지 확인하면 된다! (Symmetric인지 확인한는 것이기 때문에 => 밑의 사진 참고) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Solution { public: bool isMirror(TreeNode* tree..
아주 간단하게 재귀 방식을 통해서 풀 수 있는 문제였다. [메인 로직] 기본적으로 재귀를 root->left->right 순서로 PreorderTraversal을 진행했다. 1. 각 트리의 노드가 둘 다 NULL일 경우, true를 반환한다.(루트의 경우 NULL이면 어차피 left, right으로 뻗어가는 가지가 아니기 때문에 같은 형태임을 알 수 있다.) 2. 각 트리의 노드가 둘 중 하나만 NULL이라면, 같은 구조의 트리가 아니므로 false를 반환한다. 3. 각 트리의 노드의 값이 다르다면, 노드의 값이 다르므로 false를 반환한다. 4. 이후, 왼쪽 서브트리, 오른쪽 서브트리로 순환한다. 1 2 3 4 5 6 7 8 9 10 11 class Solution { public: bool isSa..
오랜만에 새롭게 repo를 파서 코드를 push했는데 왠걸....? couldn't find remote ref master 어쩌구 라는 Error가 났다.....띠용? 뭐지? 약간 깃에서는 처음보는 에러여서 구글링을 하는 도중에... 이번에 Github에서 default branch였던 mater가 main으로 바뀌었다는 소식을 들었다!!! 자세히 알아보니 한창 이슈인 Black Lives Matter 캠페인의 영향으로 바뀌었단다...! 어쨋든 git push origin master가 아닌 git push origin main으로 하면 문제 없이 잘 올라간다. (아! 참고로 이전에 만들어놨던 repo들은 그대로 master branch를 사용한다.)
다른 컴퓨터에서 개인 repo로 push를 하려고 하니... 밑에 사진과 같은 현상이 벌어졌다...ㅎ 내 계정이 아닌 다른 이름으로? push가 되어버렸다....!!! 구글링을 해보다가 알게된 방법이 있어서 공유한다. git config user.name "이름" git config user.email "git 이메일" 다음과 같이 입력을 해준 뒤, commit을 하고 push를 하면 오류 없이 원래의 계정으로 잘 올라간다 굿~ (반드시, 이 작업은 먼저 해주고 commit을 해야한다!!!!!)