목록Algorithm (77)
Development Palette
반으로 나누어 각각 해결하고 또 나누어 해결하는 식을 반복하여 마지막에 통합하여 해답을 찾는다. package com.ssafy.w0817; import java.util.Scanner; //분할 정복 알고리즘과 재귀 비교 //호출횟수만 비교하기 위해 코딩한 것(값의 오버플로우 생각하지 않고) //분할정복이 월등히 적은 횟수 public class SquareNumber_분할정복 { //재귀 static int callCnt; static long exp1(long x,long y) { callCnt++; if(y==1) return x; return x *exp1(x, y-1); } // 분할정복 static long exp2(long x,long y) { callCnt++; if(y==1) retur..
완전검색(브루트포스)를 사용했을 때 n>=30일 경우 너무 많은 시간을 소비하기 때문에 그리디 알고리즘(내가 생각하는 최적의 해)를 구하기 위해 효율적인 방법으로 접근 단, 최적의 해를 반드시 구한다는 보장이 없을 수 있다. package com.ssafy.w0817; import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; //Greedy, 탐욕 알고리즘 public class MeetingRoomTest_Greedy { static class Meeting implements Comparable { // 미팅객체들을 비교하며 판단하기 위해 Comparable 사용 // Comparable : 원소 스스로가 다른 원소랑..

package com.baekjoon.w0817.n2839_설탕배달; import java.util.Scanner; public class Main { public static void main(String[] args) { final int F = 5; final int T = 3; Scanner sc = new Scanner(System.in); int sugar = sc.nextInt(); // 경우 1 : 5,3 같이.. // 경우 2 : 3만 사용 // 경우 3 : 5만 사용 int N = 0;//봉지 수 while (true) { if(sugar%F ==0) {//5로 나누어 떨어질 때 전부 담을 수 있기 때문에 종료 N += sugar/F;//5로 담을 수 있는 봉지 수 break; }els..

package com.jungol.n1828_냉장고; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.StringTokenizer; // 중복되는(겹치는) 부분으로 냉장고 온도를 설정하는것!!.. 문제를 이해하기 어려웠넴 //high 기준 오름차순 정렬 public class Main { static class Refrigerator implemen..
package com.testex.t0817_basicalgo.w0813.N과M시리즈._2_15650_조합; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; //조합 (중복X) public class Main { private static int N; private static int M; private static int [] arr; private static int [] numbers; private sta..
package com.testex.t0817_basicalgo.w0813.N과M시리즈._1_n15679_순열; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; //순열(중복허용X) public class Main { private static int N; private static int M; private static int [] arr; private static int [] numbers; private s..

package com.ssafyalgo.w0812.n6808_규영이와인영이의카드게임; // 비트마스킹..1 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.StringTokenizer; public class Solution { static final int Pick = 9;// 인영이가 카드를 내는 경우의 수 : 9! static in..

package com.baekjoon.w0811.n16935_배열돌리기3; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { static int tmp[][]; static int r; static int c; // 1. 상하반전 public static void n1(int[][] arr, int N, int M) { tmp = new int[N][M]; for (int i =..