패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #한번에끝내는코딩테스트369Java편초격차패키지Online 50

패스트캠퍼스 챌린지 40일차

SQL 분기문(case-when), 집합연산 (union, union all), 서브쿼리 (column,from, where) 분기문 CASE-WHEN 예제 tProduction 테이블은 직원들이 제품을 생산한 정보가 들어있다 판매 가능한 제품들의 재고를 파악하기 위해 2020년 2월에 생산된 양 확인 문구류 제품 먼저 파악, 해당 제품명과 제품들의 총 생산량 출력 제품코드 : INumber, I1001 = 가위, I1002 = 풀 I1003 = 공책 I1004 = 볼펜 I1005 = 지우개 정답 select case when tpr.INumber = 'I1001' then '가위' when tpr.INumber = 'I1002' then '풀' when tpr.INumber = 'I1003' then ..

패스트캠퍼스 챌린지 39일차

예제를 통한 기본 조건 검색 및 정렬, 그룹제어 예제 1) tEmployee 테이블은 직원들의 정보가 들어있는 테이블이다. 문구 생산부(DNumber : D1001)와 가구생산부(DNumber : D2001)의 직원 정보를 확인 하려한다. 위에 해당하는 직원들의 직원명과 입사일을 입사일이 빠른 순서대로 출력하라 입사일은 연,월,일 까지만 출력되어야 한다. 정답 SELECT tem.EName AS 직원명, TO_CHAR(tem.StartDate,'YYYY-MM-DD') AS 입사일 // TO_CHAR 함수로 입사일 포매팅 FROM tEmployee AS tem WHERE tem.DNumber IN('D1001','D2001') // DNumber가 D1001, D2001 인것만 조회 ORDER BY tem..

패스트캠퍼스 챌린지 38일차

SQL 함수 집계함수 1. MAX 컬럼명 - 명시된 컬럼 내 값 중 최대값 반환 2. MIN 컬렴명 - 명시된 컬럼 내 값 중 최소값 반환 3. COUNT 컬렴명 - 명시된 컬럼 내 값의 전체 행 수 반환 (NULL 값 제외) 4. SUM 컬럼명 - 명시된 컬럼의 데이터 타입이 숫자일 경우, 해당 컬럼 내 모든 데이터 합 반환 (NULL 값 제외) 5. AVG 컬럼명 - 명시된 컬럼의 데이터 타입이 숫자일 경우, 해당 컬럼 내 모든 데이터 평균 반환 (NULL 값 제외) 사용법 SELECT 집계함수(컬럼명) FROM 테이블 문자열 함수 1. SUBSTRING(string, int, int) - 첫번째 명시한 문자열의 부분 문자열 잘라오기 2. LTRIM , RTRIM - 명시한 문자열의 좌측/우측 공백을..

패스트캠퍼스 챌린지 37일차

SQL 문법 설명 (순위 집계 및 조인) 순위 집계 함수 1.RANK - 동일한 값에는 동일한 순위, 다음 순위는 동일한 순위 개수만큼 건너 뛰어 등수 매김 2. DENSE_RANK - 동일한 값에는 동일한순위, 다음 순위는 바로 그 다음 순위가 나옴 3. ROW_NUMBER - 동일한 값에도 먼저 나온순서대로 등수 부여 SELET 컬럼, RANK 함수 OVER(PARTITION BY 컬럼명 ORDER BY 컬럼명 정렬차순) FROM 조인 1. INNER JOIN - 두 테이블 간에 양쪽 모두 존재하는 데이터만 도출한다. KEY를 통하여 연결함 2. OUTER JOIN 2-1) LEFT OUTER JOIN - 왼쪽의 테이블 기준으로 결합하며 오른쪽의 데이터가 없는경우 오른쪽 테이블은 null로 값이 결합..

패스트캠퍼스 챌린지 36일차

순서대로라면 모의고사를 먼저 진행하고 SQL을 진행해야하지만 실제로 문제를 풀어보고 강의를 듣기 위해 주말에 정확한 시간을 재며 모의고사 강의를 들어봐야겠다 ㅠ SQL 강의 SQL 문법 1. Select [컬럼명들] (","를 통해서 구분) 2. FROM [테이블명] 3. WHERE [조건들] (조건 검색, and, or 연산자들을 통해서 구분) 4. ORDER BY [컬렴명들] (정렬 기능 "," 를 통해서 구분) EX) SELECT CNAME, CADDR FROM tCustomer as tcu WHERE CADDR = "남구" ORDER BY CNAEM ASC -> tCsutomer테이블을 tcu라고 명칭하고 해당 테이블에서 CADDR이 남구인 검색조건에서 CNAME, CADDR 컬럼만 추출하여 오름..

패스트캠퍼스 챌린지 35일차

모의 코딩 테스트 풀이 1 홀수 홀릭 호석 (BOJ 20164) - 완전 탐색 (재귀 함수가 제일 좋다) - 함수 디자인 1. 매 순간 들고 있는 수 : x 2. 시작부터 지금까지 얻은 점수, total_odd_cnt 재귀함수 조건 1. 종료 조건 -> x가 한자리 수인 경우 2. 아닌 경우 -> 가능한 경우로 모두 잘라서 다음 수에 대해 재귀 호출 별도 함수 - 수에 포함된 홀수의 개수를 계산해주는 함수 구현 static int N, ans_min, ans_max; static PrintWriter out = new PrintWriter(System.out); static void pro(){ ans_min = 0x7fffffff; ans_max = 0; // 시작하는 순간에는 N 이라는 숫자와, 여기..

패스트캠퍼스 챌린지 34일차

동적 프로그래밍 3 😢 파일 합치기 (BOJ 11066) 1. 각자의 크기가 존재하는 파일들이 순서대로 존재한다. 2. 연속한 두 파일을 하나로 합치면, 합친 크기 만큼의 비용이 필요하다. 3. 전체 K개의 파일들을 하나로 합치는 방법들 중에서 총 비용의 최솟값을 계산하라. 점화식 구해내기 (i = 짜르기 시작한 부분, K는 i 이후 자른 시작 부분, j는 마지막 부분) - Dy[i][j] = min { Dy[i][k] + Dy[k+1][j] + (i~j 파일 총량) (i

패스트캠퍼스 챌린지 33일차

동적 프로그래밍(Dynamic Programming) - 2 계단 오르기 (BOJ 2579) 1. 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한계단을 밟으면서 이어서 다음 계단이나 다다음 계단으로 오를 수 있다. 2. 연속된 세계의 계단을 모두 밟아서는 안된다. 단, 시작점은 계단에 포함되지 않는다. 3. 마지막 도착 계단은 반드시 밟아야 한다. 완전 탐색 접근을 통해서 모든 경우를 직접 하나하나 찾으면 경우의수가 너무 많기 때문에 동적 프로그래밍 으로 문제를 나누어서 탐색한다. 문제 파티셔닝 - 마지막에 1칸을 올랐을 경우 => (i-1) 번째 직전에 (i-2) 번째 계단도 밟았는가? (연속된 세번 계단을 오를수 없기 때문) - 마지막에 2칸을 올랐을 경우 가짜문제 정의 - 필요한..

패스트캠퍼스 챌린지 32일차

동적 프로그래밍 (Dynamic Programming) 1 - 문제의 크기를 변화하면서 정답을 계산하는데, 작은 문제의 결과를 이용해서 큰 문제 해결 동적 프로그래밍 풀이 방식 1. 풀고 싶은 가짜 문제 정의 2. 가짜 문제를 풀면 진짜 문제를 풀 수 있는가? 3. 가장 작은 문제 해결하기 4. 3)에서 계산 한 것을 기반으로, 점점 더 큰 문제 해결하기 5. 1~4) 가 성공적으로 끝난다면 진짜 문제 해결하기 1,2,3 더하기 (BOJ 9095) - 정수 n이 주어졌을떄, n을 1,2,3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성 접근1 : 풀고싶은 가짜 문제 정의 - 진짜 문제를 써 본후 가짜 문제로 정의한다 - Dy[i] = i 를 1,2,3의 합으로 표현하는 경우의 수 접근2 : 가짜 ..

패스트캠퍼스 챌린지 31일차

최단 경로 (Shortest Path) 최단 거리란? - 그래프의 시작점에서 다른 지점 까지의 최단 거리 EX) 네비게이션 1. BFS - 간선의 가중치 모두 1 - 시작점은 한 정점 - 도착점은 모든 정점 - 시간 복잡도 O(V+E) 2. Dijkstra - 간선의 가중치 모두 0 이상 - 시작점은 한 정점 - 도착점은 모든 정점 - 시간 복잡도 O(ElogV) 필요한 정보 - dist[i] : 시작점에서 i번 정점까지 가능한 최단 거리 => 다익스트라 알고리즘이 한번 돌떄마다 배열이 채워짐 - 자료구조 D : 시작점에서 v까지 d만에 갈 수 있음을 확인 구현 순서 1. dist 배열 초기화, dist[i] = o if i == S , else 2. D에 (S,0)을 추가한다 3. min(v,d), D..