자기공부

· Algorithm
- 알고리즘 분류 : 다이나믹 프로그래밍, Bottom-Up 방식 - 사용 언어 : JAVA - 문제 요점 3잔 연속으로 마시는 것 금지 현재 잔으로부터 이전 3번 째 잔까지만 확인 3번 째 잔부터 아래 3개의 항목 중 값이 큰 항목으로 적용 현재 잔 안마시기 2번째 전의 잔까지 마셨던 거 + 현재 잔 마시기 3번째 잔의 전까지 마셨던 거 + 이전 잔 마시기 + 현재 잔 마시기) 포도주의 잔 갯수는 1이상이므로, d[2] 계산식을 조건에 두어 처리 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static..
· Algorithm
이 포스팅에서 작성하는 내용은 이것이 취업을 위한 코딩테스트다 (나동빈 지음) 에서 발췌하였습니다. 1. 1로 만들기 import java.util.Scanner; public class Main { // 30000까지 포함이므로 30000+1하여 선언 public static int[] d = new int[30001]; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); sc.close(); // 다이나믹 프로그래밍 (Bottom-up 방식) for (int i = 2; i
· Algorithm
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException{ // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); br.close(); // 이전 대각선 까지의 칸 갯수 int beforeSum = 0; // 현재 대각선의 칸 갯수 int curren..
· 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{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); // 나무의 수 int N = Integer.parseInt(st.nextToken()); // 필요한 나무의..
· 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
이 포스팅에서 작성하는 내용은 이것이 취업을 위한 코딩테스트다 (나동빈 지음) 에서 발췌하였습니다. 순차 탐색(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; 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
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; class Node{ private int num1; private int num2; public Node(int num1, int num2) { this.num1 = num1; this.num2 = num2; } public int getNum1() { return this.num1; } public int getNum2() { return this.num2; } } public cla..
멍목
'자기공부' 태그의 글 목록