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

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

끝나지 않을것 같던 패스트 캠퍼스 챌린지가 이제 끝이 났다.. 시작했을떄 완주 할 수 있을까라는 생각을 했지만 50일은 생각보다 짧았으며 습관을 기르기에 적합한 기간이라고 생각한다 집에 늦게들어갔을때 챌린지를 하지 못하는 그 불안감... ㅋㅋㅋ 그래도 어떻게 잘 해왔다 강의를 다 완주하여서 마지막으로 자료구조와 알고리즘 정리를 통해 기본 개념들을 한번 더 복습하는 시간을 가진다 자료구조 1. 배열 (Array) : 같은 유형의 데이터를 여러개 넣어 관리하는 데이터구조 2. 큐 (Queue) : 가장 먼저 넣은 데이터를 가장 먼저 꺼내는 구조 (FIFO) 3. 스택 (Stack) : 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터구조 (LIFO) 4. 링크드 리스트 (Linked List) - ..

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

류호석배 코딩테스트 3회 문제 1 : 빌런 호석 • 출제 의도 - 올바른 접근 방법을 떠올리는가? - 시간 & 공간 복잡도는 제대로 계산 하였는가 - 문제를 편하게 구현하였는가 • 총 정리 - diff_one 함수 구현 - 이를 이용한 diff 함수 구현 - Y를 1부터 N까지 바꿔보면서 변환 횟수가 P이하인지 확인 - 총 시간 복잡도는 O(N * K) 이다 문제 2 : 정보 상인 호석 • 출제 의도 - 문제가 요구하는 상황을 이해 했는가? - 문자열을 잘 다루는가? - 필요한 연산을 정의할 줄 아는가? - 자료구조를 나열하고 시간 복잡도를 따져서 최선의 자료구조를 선택할 수 있는가? • 접근 방법 - 먼저 고릴라의 이름을 어떻게 다룰 것인가? 1. 문자열 그 자체를 이용하는 경우 2. 숫자로 변경해서 ..

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

류호석배 코딩테스트 2회 문제 1 : 폰 호석만 ( BOJ 21275 ) • 출제 의도 - 완전 탐색 접근을 통해서 모든 경우를 직접 하나하나 찾아내 보자 - 본 문제에서 경우란, 조건을 만족하게 A,B를 모두 결정해보는것 - 진법 변환을 구현 할 수 있는가?! 완전 탐색 접근 - 가능한 A,B의 조합 : (2,2) (2,3) ... (36,36) 매 조합 마다 진법 변환을 수행 주의할 점 1. 변환시에 2^63을 넘어가지 않는가 2. 등장하는 문자가 진법으로 올바른가 문제 2 : 계보 복원가 호석 ( BOJ 21276 ) • 출제 의도 - 관련 강의 : 그래프, 트리 - 그래프의 정점이 문자열인 경우는 어떻게 하는가 - 그래프, 그 중에서도 Rooted Tree에 대한 올바른 이해를 했는가 • 생각의 ..

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

패켐 제작문제 해설 8,9 문제 내용 링크 참조 문제 1 : 가희의 고구마 먹방 (https://www.acmicpc.net/problem/21772) - 난이도 중, 완전탐색, 백트래킹, DFS • 핵심 아이디어 - 전형적인 완전 탐색 문제 - 깊이 우선 탐색(DFS)을 이용하여 모든 경우의 수 계산 - 각 위치에서 상,하,좌,우 이동 가능 - 입력 조건 상 10칸 까지도 이동할 수 있으므로, 최대 약 4^10개의 경우의수 존재 문제 2 : 가희와 프로세스 1 (https://www.acmicpc.net/problem/21773) - 난이도 중, 우선순위 큐, 자료구조 • 핵심 아이디어 - 우선순위 큐를 활용한 스케줄러 구현 문제 - 우선순위는 다음과 같이 정의되며, 이를 위해 별도 클래스 구현 필요 ..

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

패켐 제작문제 해설 6,7 문제 내용 링크 참조 문제 1 : 가장 긴 짝수 연속한 부분 수열 (small) (https://www.acmicpc.net/problem/21857) - 난이도 하, 다이나믹 프로그래밍 핵심 아이디어 - 길이가 N인 수열에서 K개의 원소를 삭제할 수 있다 - 결과적으로 짝수로 이루어진 연속한 부분 수열 중에서 가장 긴 것을 계산 - 본 문제는 다이나믹 프로그래밍으로 해결 가능 1. 짝수일 경우 : D[i][j] = D[i][j-1] + 1 왼쪽과 연결 2. 홀수일 경우 : D[i][j] = D[i-1][j-1] 왼쪽위와 연결 문제 2 : 가장 긴 짝수 연속한 부분 수열(large) (https://www.acmicpc.net/problem/21862) - 난이도 하, 투 포인..

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

패켐 제작문제 해설 4,5 문제 내용 링크 참조 문제 1 : 문자열 제거 (https://www.acmicpc.net/problem/21922) - 다이나믹 프로그래밍, 난이도 중 구현 아이디어 인덱스 0 1 2 3 4 5 6 7 8 9 문자열 a b c x y z x a b c - 문자 지우기, abc, xyz 로 문제를 나누어서 풀이한다 문제 2 : 문자열 제거 (https://www.acmicpc.net/problem/21942) - 자료구조, 구현 , 난이도 중 구현 아이디어 1. 부품을 얼마나 오래 빌렸는지 분 단위로 계산 해아한다 - 날짜 정보가 담긴 문자열을 타임 스탬프(timestamp)로 변경 - 타임스탬프 : 2021-01-01 00:00 으로부터 몇 분 지났는지 2. 대여 기록을 관리..

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

패스트 캠퍼스 자체 문제 제작 - 2,3 문제 1 : 학부 연구생 민상( https://www.acmicpc.net/problem/21922 ) - 문제 내용 링크 참조 구현 아이디어 1. 바람이 물건에 부딪혔을 때, 방향이 바뀌는 기능을 정확히 구현 - 바람의 현재 상태를 (i,j 방향) 으로 표현 - 방향은 상,하,좌,우 가 존재 2. 시뮬레이션을 위해 이미 방문한 적이 있는 위치를 기록 - 따라서 방문된 위치 정보를 3차원 배열 visited[i][j][dir] 형태로 관리 단순한 시뮬레이션 문제이므로, 반복문을 사용하거나 DFS/BFS를 이용하여 자신의 기호에 따라 탐색 진행 문제 2 : 곡예비행( https://www.acmicpc.net/problem/21923 ) - 문제 내용 링크 참조,..

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

실전 알고리즘 문제풀이 - 패캠 제작 문제 해설 1 전구 문제 - 단순히 문제 요구사항 구현 문제 - 조건상 데이터의 개수 N과 명령어의 개수 M이 모두 4000 이하 입니다 - 따라서 시간 복잡도 O(NM)의 알고리즘으로 문제 해결 가능 - 구현이 복잡해 지지 않도록 별도 메서드로 분리하여 작성 구현 코드 import java.util.*; public class Main{ // 전구 개수 N, 명령어 개수 M public static int N,M; public static int[] arr = new int[4001]; public static void main(String[] args){ Scanner sc = new Scanner(System.in); N = sc.nextInt(); M = sc..

카테고리 없음 2022.03.07

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

조인 (inner join, outer join, self join) JOIN 예제 tProduction 테이블은 직원들이 제품을 생산한 정보가 들어잇는 테이블이다 tOrder 테이블은 제작된 제품을 고객들이 주문한 정보가 들어있는 테이블 tItem 테이블은 생산하기 위한 제품들의 정보가 들어있는 테이블 2022년 3월 20일 기준 현재 판매 가능한 공책의 재고량을 구하시오 (반품되어 돌아온 공책의 경우 재판매 하지 않는다.) 정답 select tBase.IName as 제품명, (tBase2.PCount - tBase.OCount) as 재고량 // 총 생산량 - 제품 판매량 from ( select tit.IName, sum(tpr.PCount) as OCount from tProduction as ..

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

SQL 순위 집계 예제 1. RANK 예제 tProduction 테이블은 직원들이 제품을 생산한 정보가 들어있는 테이블이다 생산량이 많은 직원 기준 상위 10명에게 상여금을 준다 해당하는 직원 번호와 총 생산량을 상위 10명까지 순위를 매겨 출력하라 만약 공돈 순위가 있다면 다음 순위는 중복 된 순위의 수만큼 떨어진다 // rank 함수 사용 정답 select tpr.enumber as 직원번호, sum(tpr.pcount) as 총_생산량, rank() over(order by sum(tpr.pcount) desc) as 총_생산량_순위 // 순위를 같이 출력 from tProduction as tpr group by tpr.enumber limit 10 2. Row_num 예제 tProduction ..