Algorithm

· Algorithm
이 포스팅에서 작성하는 내용은 이것이 취업을 위한 코딩테스트다 (나동빈 지음) 에서 발췌하였습니다. 다이나믹 프로그래밍(Dynamic Programming) 1. 피보나치 수열을 재귀함수로 구현 public class Main { public static void main(String[] args) { // TODO Auto-generated method stub int result = fibonacci(4); System.out.println(result); } static int fibonacci(int num){ if(num == 1 || num == 2) { return 1; } return fibonacci(num-1) + fibonacci(num-2); } } 위처럼 재귀함수로 구현한 경우, ..
· Algorithm
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String temp = br.readLine(); StringTokenizer st = new StringTokenizer(temp); int K ..
· Algorithm
이 포스팅에서 작성하는 내용은 이것이 취업을 위한 코딩테스트다 (나동빈 지음) 에서 발췌하였습니다. 순차 탐색(Sequential Search) - 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에 있는 데이터를 하나씩 확인하는 방법 public class Main { public static void main(String[] args) { // TODO Auto-generated method stub System.out.print("문자열 갯수와 찾을 문자열을 입력 : "); Scanner sc = new Scanner(System.in); String temp = sc.nextLine(); // 문자열 갯수 int N = Integer.parseInt(temp.split(" ")[0]); // 찾을 ..
· Algorithm
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.StringTokenizer; // Meeting Class 선언 class Meeting implements Comparable{ int start; int end; public Meeting(int start, int end) { this.start = start; this.end = end; } // Sort에 사용할 기준 설정 @Override public int compareTo(Meeting m) ..
· Algorithm
이 포스팅에서 작성하는 내용은 이것이 취업을 위한 코딩테스트다 (나동빈 지음) 에서 발췌하였습니다. 기본 문제 1. 위에서 아래로 해결 방법 : JAVA 기본 라이브러리를 이용 public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = Integer.parseInt(br.readLine()); int[] arr = new int[num]; for(int i=0;i
· Algorithm
이 포스팅에서 작성하는 내용은 이것이 취업을 위한 코딩테스트다 (나동빈 지음) 에서 발췌하였습니다. 정렬(Sorting) - 정렬 : 데이터를 특정한 기준에 따라서 순서대로 나열하는 것 - 정렬을 잘 터득하면 이진 탐색(Binary Search)가 가능하니 기초를 잘 잡아야 한다. 선택 정렬(Selction Sort) - 데이터가 무작위로 여러개 있을 때, 가장 작은 데이터와 맨 앞에 있는 데이터를 바꾸고 그 다음 작은 데이터를 앞에서 두번 째 데이터와 바꾸는 과정을 반복하는 알고리즘. - '매번 가장 작은 것을 선택하는 알고리즘' - 시간복잡도 : O(N2) public class Main { public static void main(String[] args) { // 선택 정렬 이용. int[] a..
· Algorithm
import java.io.IOException; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { static int[][] graph; static int N,M; static int[] dnum1 = {-1,1,0,0}; static int[] dnum2 = {0,0,1,-1}; static int result = 0; public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); N = sc.nextIn..
· Algorithm
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; public class Main { // 그래프 변수 public static int[][] graph; // 방문 체크용 변수 public static boolean[][] visited; // 그래프 크기 변수 public static int N; // 이동할 네 가지 방향 정의 (상, 하, 좌, 우) public static int[] dnum1 = {-1, 1, 0, 0}; public static int[] dnum2 = {0, 0, -1, 1}; public static void ..
멍목
'Algorithm' 카테고리의 글 목록 (22 Page)