[프로그래머스 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..
[C/C++] segmentation fault (core dumped) 맞는데 왜 틀려 싶다면! [프로그래머스 크레인 인형뽑기] 연산자 우선순위
·
카테고리 없음
개요 : 처음으로 연산자 우선순위 때문에 데였다 너무나도 부끄럽지만, 여태 살면서 3년간 논리연산자의 우선순위를 전혀 고려하지 않고 문제를 풀고 있었다...; 그러다가 "프로그래머스 크레인 인형뽑기" 를 풀게 되었는데.. https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 1. segmentation fault 왜뜨는건가? 대표적 1. 배열 잘못써서 (범위를 초과, 음수 인덱스 참조) 2. 포인터 잘못써서 고급지게-위키피디아 왈 세그멘테이..
[프로그래머스] string 입력 참고
·
PS/알고리즘
프로그래머스 입력이 좀 생소해서 나중에 참고할 입력 코드임 입력예시 [1,2,3,4,5,6,7...] -- 참고 코드 for (int i = 0; i < Len; i++) { char buf[1000]; int buf_Idx = 0; while (!(str[i] == '[' || str[i] == ',' || str[i] == ' ' || str[i] == ']')) { if(isdigit(str[i])) buf[buf_Idx++] = str[i++]; } buf[buf_Idx] = '\0'; if (buf[0] != '\0') { V.push_back(atoi(buf)); } /* if (str[i] == ']') bIsProg = false; */ } --