목록Algorithm (127)
main
* DP ; 동적 계획법 * 1부터 N 범위까지 - case1 : 가장 큰 제곱수 부터 빼는 연산, 전체 연산 횟수를 count에 저장 - case2 : 1 0) { num -= Math.pow(largestSquareRoot(num), 2); count++; } for (int j = 1; j < largestSquareRoot(i); j++) { count = Math.min(dp[i - (int) Math.pow(j, 2)] + 1, count); } dp[i] = count; } System.out.println(dp[N]); } }
[인프런] 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 김태원 * Chapter 1.5 * Character.isAlphabetic() 메소드를 사용할 수 있다. (englishChecker 만들어 사용할 필요 없음) import java.io.*; import java.util.*; public class Main { static boolean englishChecker(char c) { if ('A'
* 다이나믹 프로그래밍 * 1부터 N까지 3가지 연산의 최소 연산 횟수를 비교하면서 저장한다. (1의 경우는 연산횟수가 0이다.) * 이전 연산이 없는 경우 예외 처리 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { Scanner scan = new Scanner(System.in); int N = scan.nextInt(); int count = 0; int[] dp = new int[N + 1]; for (int i = 2; i 1 ? dp[i ..
* 나이를 비교하기 위해 Comparator를 사용했다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { Scanner scan = new Scanner(System.in); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = scan.nextInt(); ArrayList arr = new ArrayList(); for (int i = 0; i < N; i++) { int age = scan.nextInt(); String name = scan.n..
* 음수 고려해서 max_value 초기값 설정하기 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); String str = br.readLine(); int N = Integer.parseInt(str.split(" ")[0]); int K = Integer.parseInt(str..