취준/FASTCAMPUS

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

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

    시청 날짜 : 11/13/2021 시청 강의 : 알고리즘 해결에 중요한 재귀 호출 이해 좀 늦은 감이 있지만, 재귀 호출 강의를 들어보았다. 재귀 재귀 함수란 특정 함수 내에서 자기 자신을 다시 호출하여 문제를 해결해나가는 함수이다. 문제를 해결하기 위해 원래 범위의 문제에서 더 작은 범위의 하위 문제를 먼저 해결하여 원래 문제를 해결해 나간다. Factorial 예제 그 유명한 팩토리얼 예제... 스택 오버플로우에서 그림과 코드를 가져와봤다. int factorial(int n) { if (n 1)로 주었지만, 대학에서 배울 때 Base Case를 콕 잡아서 코드 쓰는 게 더 편해졌기때문인지 몰라도, n==1일 때를 base case로 잡는 게 더 보기가 좋은 것 같다. public class Fact..

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

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

    시청 날짜 : 11/12/2021 시청 강의 : 다양한 정렬 응용법 - 응용 편 https://junebee.tistory.com/18 에 이어, 정렬 응용문제 강의를 들었다. 수열 정렬 https://www.acmicpc.net/problem/1015 카드 https://www.acmicpc.net/problem/11652 화살표 그리기 https://www.acmicpc.net/problem/15970 위 문제를 풀이해봤다. 화살표 그리기는 시간이 없어서 아직 풀지 못했다. 후에 시간이 나면 추가적으로 업로드하겠다. 수열 정렬 문제 해석 주어진 배열과 해당 원소의 인덱스를 따로 저장한다. [Original Array] index 0 1 2 3 4 5 element 5 4 1 3 5 7 위 배열을 오름..

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

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

    시청 날짜 : 11/11/2021 시청 강의 : 다양한 정렬 응용법 (Sort Application) 정렬 정렬은 조건이 필요하다. 배열의 정렬은 Arrays.sort(arrName)로 구현할 수 있다. 하지만, 만약 정렬의 조건이 integer나 String 이 아닌 경우는 새로운 조건이 필요한데 당연히 자바는 우리가 이 조건을 직접 지정해주지 않으면 정렬해주지 않는다. 따라서, comparator를 implement 해서 compareTo 메서드를 재정의하여, 우리가 새로운 조건을 지정해주면 새 기준에 의해 정렬해준다. @override public int compareTo(Object o ) { return num-o.num ; //small to big - ASC //return o.num - n..

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

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

    시청 날짜 : 11/10/2021 시청 강의 : 어떻게든 푼다. 완전 탐색 (Brute Force) 응용편 오늘은 완전탐색 강의 2를 듣기 위해 문제를 푸는것을 중심으로 학습했다. 연산자 끼워넣기 https://www.acmicpc.net/problem/14888 부분수열의 합 https://www.acmicpc.net/problem/1182 암호 만들기 https://www.acmicpc.net/problem/1759 위의 연습문제를 모두 dfs를 사용하여 풀었다. 연산자 끼워넣기 무려 삼성 기출문제로 분류되어있다. 이렇게만 나오면 얼마나 행복할까.. DFS private static void dfs(int depth , int calculated){ ... } //main 함수: dfs(1,nums[..

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

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

    날짜 : 2021 년 11 월 9 일 시청 강의 : 01. 어떻게든 푼다. 완전 탐색 (Brute Force) 완전탐색 모든 경우를 전부 탐색 4가지 문제 유형으로 나누어 볼 수 있음. [문제유형] 1. N개의 원소 중 중복 없이 M 개를 순서있게 나열 2. N개의 원소 중 중복 없이 M 개를 고르기 3. N개의 원소 중 중복 허용하여 M 개를 순서있게 나열 4. N개의 원소 중 중복 허용하여 M 개를 고르기 완전탐색으로 문제를 풀 때, 백트래킹이 자주 사용되는데 dfs는 백트래킹 문제 방법 중 하나임 따라서, 완전탐색으로 문제를 풀이하는 경우에, public static void recurrsive(int depth){ //재귀 } public static void main(String[] args){..

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

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

    날짜 : 2021 년 11 월 8 일 시청 강의 : 백트래킹 알고리즘 이해 (1) 벌써 8일차라니..신기하다.. 오늘은 백트래킹 알고리즘이해 (1)을 들었다. 포스팅 작성 후, N 퀸을 직접 구현해보고 백트래킹 알고리즘 이해 (2)를 듣는게 나을 것 같다. 애니웨이.. 백트래킹 제약 조건 만족 문제에서 해를 찾기 위한 전략 해가 될 수 있는 다양한 후보근을 트리 형태로 표현 (State Space Tree) 진짜 트리는 아니고, dfs 로 풀 수 있다. How it works... 1. 루트 노드를 하나 잡아서, 해가 될 수 있는지 판단 2. 해가 될 수 있다면 해당 해의 child 가 해가 될 수 있는지 판단 3. 해가 될 수 없다면, 다시 그 전 조건으로 돌아간다. 이때, 해가 될 수 없는 노드의 자..