-
패스트캠퍼스 챌린지 29일차스터디플래너/패캠챌린지 2021. 11. 29. 21:21
Part 4. SQL CH04_01. 기본 조건 검색 및 정렬, 그룹제어(group by), 그룹제어(having) 어제까지 SQL 순위, 조인 그 밖의 집계함수에 대해 배웠고 오늘은 기본 조건 검색 및 정렬, 그룹제어(group by/having)과 관련된 SQL 문제를 풀었다. 나는 학원에서 수업을 듣기 전 SQLD 자격증을 취득했고, 학원에서 Database를 배울 때 재밌게 배웠다. 프로그래머스에서 문제를 풀며 혼자 공부할 때, 학원식 코딩만 두들기며 어리바리하고 있던 내가 유일하게 거의 다 푼 영역이 SQL이었다. 이렇게 장황하게 말한 이유는 내가 이 부분만큼은 자신이 있었단 소리다. 하지만 그런 자신감이 완전 박살이 나버렸다. 지금은 코딩테스트를 연습하는 거니까 틀려도 배우면 된다고 생각하고 ..
-
패스트캠퍼스 챌린지 28일차스터디플래너/패캠챌린지 2021. 11. 28. 12:50
Part 4. SQL CH02_02. 순위집계 (rank, dense-rank, rown-number), 조인 (inner, outer, full outer, self, cross) CH03_01. 집계함수, 문자열함수, 날짜함수, 그 외 문제에 사용되는 함수 Rank: 같은 값을 가진 항목에 동일한 순위를 제공하고, 그 다음 순위는 같은 값을 가진 항목의 수를 더해 그 다음 순위를 제공한다. Dense_rank: 같은 값을 가진 항목에 동일한 순위를 제공하고, 그 다음 순위는 바로 다음 순위를 제공한다. row_number 동일한 값에대해서도 고유한 순위를 제공 inner join left outer join right outer join full outer join self join cross joi..
-
패스트캠퍼스 챌린지 27일차스터디플래너/패캠챌린지 2021. 11. 27. 21:23
Part 3. 알고리즘 유형별 문제풀이 Ch 02. 알고리즘 01. 어떻게든 푼다. 완전 탐색 (Brute Force) Part 4. SQL CH01_01. 강의 목적 및 소개 CH02_01. 기본검색 및 정렬 (Select, Where, Order by 절), 그룹제어 (group by, having), 분기문 (case-when), 집합연산 (union, union all) select 절에 나열되는 컬럼은 group by 절에 있는 컬럼만 사용할 수 있다. 집계함수를 사용하면 group by 절에 없는 컬럼을 select할 수 있다. Simple case expression select (case[컬럼명] when [비교값1] then [반환값] case[컬럼명] when [비교값1] then [반..
-
패스트캠퍼스 챌린지 26일차스터디플래너/패캠챌린지 2021. 11. 26. 18:31
Part 3. 알고리즘 유형별 문제풀이 Ch 01. 코딩 테스트를 위한 준비 03. 꿀팁 - 좋은 습관 1. 문제를 올바른 순서로 이해한다. 문제 전체를 꼼꼼히 읽는다. - 제공되는 정보를 잘 정리하고 데이터에 대해 이해한다. - 키워드가 되는 단어를 체크하며 문제를 파악한다. 2. 시간과 공간 복잡도를 계산한다. 짤 가치가 있는지 확인하며 시간을 아낀다. 3. 코드를 효율적으로 함수화해서 구현한다. 메소드를 이용해 코드수를 줄인다. 4. 코딩 테스트에서 부분 점수를 챙긴다. 오늘은 시간이 없어서 강의를 하나밖에 못 들었다. 이번 강의는 파트 3의 알고리즘 유형별 문제풀이의 마지막 강의인 코딩테스트에 대한 좋은 습관을 알려주는 꿀팁 강의였다. 그동안 수강후기를 적으면서 어려웠던 점이 있었다. 강의 화면의..
-
패스트캠퍼스 챌린지 25일차스터디플래너/패캠챌린지 2021. 11. 25. 21:54
Part 2. 알고리즘 이론 Ch 22. 자료구조와 알고리즘 정리 01. 필수 자료구조와 알고리즘 정리 Part 3. 알고리즘 유형별 문제풀이 Ch 01. 코딩 테스트를 위한 준비 01. 강의 소개 및 최종 목표 02. 최신 입사 코딩 테스트 분석 자료구조 배열(Array), 큐(Queue), 스택(Stack), 링크드 리스트(Linked List), 해쉬 테이블(Hash Table), 트리(Tree), 이진 탐색 트리(Binary Search Tree), 힙(Heap) 알고리즘 - 정렬: 버블 정렬, 선택 정렬, 삽입 정렬, 병합 정렬, 퀵 정렬 - 재귀 호출, 동적 계획법, 분할 정복, 탐욕 알고리즘, 백트래킹 - 탐색: 순차 탐색, 이진 탐색 - 그래프: 너비 우선 탐색, 깊이 우선 탐색 / 최단 ..
-
패스트캠퍼스 챌린지 24일차스터디플래너/패캠챌린지 2021. 11. 24. 23:05
Part 2. 알고리즘 이론 Ch 21. 백 트래킹 02. 백 트랙킹 알고리즘 이해 (2) 백 트래킹(backtracking): 크루스칼 알고리즘이나 프림 알고리즘처럼 특정 문제를 풀기 위한 특정 알고리즘이 아니라 일반적으로 문제를 푸기 위한 전략 중 하나. 제약조건 문제에서 해를 찾기 위한 전략. 모든 경우의 수를 상태 공간 트리(State Space Tree)로 표현하고 각 후보군을 깊이 우선 방식(DFS)으로 확인 백 트래킹을 코드로 구현하는 NQueen 클래스는 상태 공간 트리를 깊이 우선 방식으로 탐색하는 dfsFunc메소드와 계속 다른 후보군을 탐색해야 하는지 판단하는 isAvailable 메소드, 총 두 개의 메소드로 구성되어 있다. dfsFunc 메소드는 재귀를 이용하여 다음 행에서 최적의..
-
패스트캠퍼스 챌린지 23일차스터디플래너/패캠챌린지 2021. 11. 23. 23:01
Part 2. 알고리즘 이론 Ch 21. 백 트래킹 01. 백 트랙킹 알고리즘 이해 (1) 80.백 트래킹(backtracking): 크루스칼 알고리즘이나 프림 알고리즘처럼 특정 문제를 풀기 위한 특정 알고리즘이 아니라 일반적으로 문제를 푸기 위한 전략 중 하나. 제약조건 문제에서 해를 찾기 위한 전략. 모든 경우의 수를 상태 공간 트리(State Space Tree)로 표현하고 각 후보군을 깊이우선방식(DFS)으로 확인 가지치기(Pruning): 나뭇가지를 쳐내듯 조건에 맞지 않으면 쳐내듯이 포기하고 다른 루트를 탐색하여 시간을 절약하는 방법 백 트래킹은 해를 찾기 위해 모든 후보를 확인하다가 제약조건을 만족하지 못하면 퇴각 검색(backtrack)하여 다른 문제로 넘어가 최적의 해를 찾는 방법이다. ..
-
패스트캠퍼스 챌린지 22일차스터디플래너/패캠챌린지 2021. 11. 22. 06:47
Part 2. 알고리즘 이론 Ch 20. 그래프 고급 탐색 알고리즘 11. 프림 알고리즘 (4) 프림 알고리즘: 최소 신장트리의 알고리즘 중 하나로 당장 최소 비용을 선택하여 결과적으로 최적의 해를 찾는 탐욕 알고리즘을 바탕으로 함 개선된 프림 알고리즘: 다익스트라 알고리즘을 참고하여 간선이 아닌 노드를 중심으로 우선순위 큐를 적용. 오늘은 개선된 프림 알고리즘을 코드로 구현했다. 어제 예상한 대로 역시나 어려웠다. 퇴근 후 팀장님이 오셔서 저녁을 먹었고 중간에 나와서 운동하러 갔다. 운동도 빡세게 했으니까 피곤한데 어려운 걸 들으니 수업을 듣는 것도 힘들었다. 다시 또 다른 알고리즘이나 SQL을 먼저 들을까 고민했지만 괜히 순서대로 듣고 싶어 그냥 참고 들었다. 팀장님 말씀 중 하나가 비즈니스 로직과 ..