[프로그래머스 2019 KAKAO BLIND RECRUITMENT] (level2) 후보키
·
PS/알고리즘
회고1. 그냥 같은 row끼리 Concat하면 되는데 Join을 해버렸다. 정신이 어떻게 된것 같다.그래서 미친듯이 많은 재귀를 돌리고 메모리가 터졌다..2. 비트셋을 이용해 본것은 처음 3. vector> 내 원소들간 중복제거를 연구해봐야 겠다.4. 프로그래머스에 전역 변수 선언을 하는것도 한번 참고해 보자.5. 이상한 반례 : 다음 테이블의 후보키는 전부 가능한거 아닌가? 근데 막상 풀었을때, 후보키는 1개 밖에 사용 못했다.학번이름전공학년"100""ryan""music""2" #include using namespace std;vector CandiKey;int ColNum = -1;int RowNum = -1;int solution(vector> relation) { int answer = ..
[프로그래머스 2019 KAKAO BLIND RECRUITMENT] (level1) 실패율
·
PS/알고리즘
1). double 같은지 비교https://www.acmicpc.net/blog/view/37double 끼리 같은지 비교할때, abs(a - b) 이렇게 해야 한다.그런데 여기서 좀 충격인게 위 글을 보고 1e-9 (0.000000001) 의 오차를 가지게 했는데실제 실행시킬때 테케 통과가 안되는 문제가 있었다. 그래서 EPS를 1e-15 까지 더 줄이니 통과 했다.2). 풀이#include #define x first#define y secondusing namespace std;const double DOUBLE_OFFSET = 1e-15;bool comp(const pair& lhs, const pair& rhs) { if(abs(lhs.x - rhs.x) rhs.x;}vector sol..
[프로그래머스 2019 KAKAO BLIND RECRUITMENT] (level2) 오픈채팅방
·
PS/알고리즘
정말 오래간만에 알고리즘 문제를 풀어봤다.PS 실력은 옜날과 비교할때는 저점이 되었지만 C++ 언어 자체는 김포프님 언매니지드 강의 듣고 나서 이해는 더 잘된듯. #include #include #include #include #include using namespace std;// hashSet == unorderd_map 사용 // UID 와 string 매핑 // 레퍼런스 변경void Change(unordered_map &ud, const string& uid, const string& repN) { // TODO user에 있는 string을 찾아서 교체, 레퍼런스 교체 ud[uid] = repN;}// UUID & Enter/Leave// UUID & 01010// UID..
| 알고리즘 | 3 | 그래프-1 | Stack : DFS | 미로찾기 |
·
PS/알고리즘
미로찾기 스택큐 노트로 돌아가기 https://felipuss.tistory.com/entry/니앙팽이-자료구조-2-스택큐-노트?category=961476 1. stack을 이용한 DFS #include #include #include #include #include #include #define pr pair #define y first #define x second using namespace std; int arr[1010][1010] = {0, }; bool visit[1010][1010] = { false, }; pr MV[8] = { {0,-1},{1,-1},{1, 0},{1,1}, {0,1},{-1,1},{-1,0},{-1,-1} }; bool isEnter(pr _pos, int _N) ..
[백준 2992] 크면서 작은 수 (다음 순열 찾기 & next_permutation사용법)
·
PS/알고리즘
https://www.acmicpc.net/problem/2992 2992번: 크면서 작은 수 정수 X가 주어졌을 때, X와 구성이 같으면서 X보다 큰 수 중 가장 작은 수를 출력한다. 수의 구성이 같다는 말은, 수를 이루고 있는 각 자리수가 같다는 뜻이다. 예를 들어, 123과 321은 수의 구성이 www.acmicpc.net bool next_permutation 동작 : 사전식 순서로 다음 순열 찾는것 > 매소드 형태: bool next_permutation (BidirectionalIterator first, BidirectionalIterator last); > 시간 복잡도 : O(N!) > 사용법 : 한번 저거 사용하면 정렬시키고 적용; > 매개변수 : first.iterator last.it..
[프로그래머스 그래프 탐색 DFS/BFS] (level 3) 3번 단어 변환
·
PS/알고리즘
https://programmers.co.kr/learn/courses/30/lessons/43163# 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 아이디어 : 1. 노드 가 string인 그래프를 만들어준다. (map을 이용) ㄴ 1-1 : 부모의 자식은 꼭 부모 문자가 단 하나만 다른놈이여야 한다. 1-2 : 부모가 key 이고 element는 1-1을 만족하는 원소들임 ex) hit:hot hot:dot lot dot:hot dog lot dog:dot lo..
[백준 1543번] 문서 검색 (c++ <string> 레퍼런스 )
·
PS/알고리즘
https://www.acmicpc.net/problem/1543 1543번: 문서 검색 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한 www.acmicpc.net 1. 생성자 사전에 선언한 스트링 이용하기 s2 = s0; s2 = (s0); s2 = (s0,firstIndexPos, stringlen) firstIndexPos : s0 문자열을 여기서부터 서브스트링을 넣어주고 싶다! 할때 시작 기준 (인덱스) stringlen : 서브 스트링의 길이 얼만큼 넣어주고 싶니? s2 = (s0.begin(), s0.begin + len) 특정 문자로 fill 하고싶다..
[백준 11719번] 그대로 출력하기 2 (<string> Getline 문자열 공백 허용 입력)
·
PS/알고리즘
https://www.acmicpc.net/problem/11719 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net 입력 입력 받은 대로 출력하는 프로그램을 작성하시오. 이게 아주 중요하다!. 공백포함 문자열을 받을 수 있는지를 생각해봐야한다! 출력 Hello Baekjoon Online Judge 저 빈 공간도 포함해서 담아줘야 하는것인데.. cin은 공백, 포함 안한다.. ㅠ 생각방법 cin말고 입력을 공백 포함하고 받을수 없을까? getline사용하면 된다. 1 2 3 4 5 6 7 ..
[백준 15649번] 백트래킹 N과 M(1)
·
PS/알고리즘
https://www.acicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 입력 1 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 상태공간 트리의 관점으로 보자면.. N은 트리의 자식들이고 M은 조사할 트리의 Depth(Level)라고도 할 수 있다, 출력 트리가 주어진 Depth (M) 까지 도달했다면 지나온 경로를 출력 하는것 이라고 할 수 있다. 생각방법 1. 백트래킹 용어 promising & tree & pruning & child 1. promisi..
[상태공간 트리의 탐색 - 0] 목차
·
PS/알고리즘
상태공간 트리의 탐색 > 문제 해결 과정의 중간 상태를 각각 한 노드로 나타낸 트리이다. ! > 상태공간 트리로 뭘 할수 있을까 TSP (외판원 문제) 그래프 4-Queen 문제 SumOfSubset(부분 집합 합 문제) GraphColoring(그래프 색칠) Knapsack 냅섹 > 뭐랑 관련되어있나? DFS(재귀 스택) 트리나 그래프에서 한 루트로 탐색 백트래킹과 관련 재귀는 스텍오버플로 조심 BFS(queue) 트리나 그래프에서 한 루트로 탐색 최선 우선 탐색도 있다 분기한정과 관련 백트래킹(Backtracking) 분기 한정(Branch and Bound) 목차 백트래킹 몬테 카를로 알고리즘 분기한정 (Branch and Bound) Best FS