코테 공부

· Algorithm
- 알고리즘 분류 : 다이나믹 프로그래밍, Bottom-Up 방식 - 사용 언어 : JAVA - 문제 요점 계단수 = 각 자릿수끼리 차이가 1이 나는 수 자릿수 별로 2차원 배열을 이용해 풀이 가능 0으로 시작하는 수는 계단 수가 아님 현재 자릿 수의 숫자에 +-1을 뒷 자리수에 대입하면 계단 수가 됨 ex) 10의 자리의 수가 2일 때, 즉 2? 일 때, 계단 수는 21, 23 0은 1, 8은 9로 고정(-1, 10이 되기 때문) 1000000000으로 나누는 것 잊지 않기 - 점화식 도출 * j가 0 d[i][0] = d[i-1][1]; * j가 9 d[i][9] = d[i-1][8]; * j가 1~8 d[i][j] = d[i-1][j-1] + d[i-1][j+1]; 소스 설명은 주석을 참고해주세요...
· Algorithm
- 알고리즘 분류 : 다이나믹 프로그래밍, Bottom-Up 방식 - 사용 언어 : JAVA - 문제 요점 높이가 2로 고정, 넓이가 N인 타일의 경우의 수를 도출 N이 1일 수도 있으니, 예외 처리 필요 10007로 나누는 거 잊지 않기 - 점화식 도출 d[i] = d[i-1]+d[i-2]; 2x1, 1x2의 2종류 타일이 존재한다. → 최대 2칸 전까지만 확인 1. 현재 기준 2칸 전까지 다 채워진 경우 1*2 타일 2개 채움 (2*1 타일 2개로도 채울 수 있지만, 그렇게 되면 2번과 같은 모양) 2. 현재 기준 1칸 전까지 다 채워진 경우 2*1 타일 1개 채움 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException..
· Algorithm
- 알고리즘 분류 : 다이나믹 프로그래밍, Bottom-Up 방식 - 사용 언어 : JAVA - 문제 요점 연속 3계단을 밟을 수 없음 마지막 계단은 꼭 밟아야함 시작 지점은 취급 x - 점화식 도출 d[i] = Math.max(d[i-3]+arr[i-1] + arr[i], d[i-2] + arr[i]); (현재 계단을 포함해 연속 2개 밟기 or 이전 계단 건너 뛰고 현재 계단 밟기) 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IO..
· 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)); int N = Integer.parseInt(br.readLine()); // N개의 집과 해당 집의 도배에 필요한 각각의 비용을 넣는 변수 int[..
· Algorithm
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); // 테스트 케이스 배열 int[] arr = new int[T]; int max = 0; for(int i=0;i
· 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
// Don't place your source in a package import java.util.*; import java.lang.*; import java.io.*; // Please name your class Main class Main { public static void main (String[] args) throws java.lang.Exception { // TODO Auto-generated method stub // 시간 제한으로 인해 시간이 상당히 촉박하니 Scanner가 아닌 BufferedReader 및 StringTokenize 이 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Strin..
· Algorithm
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); String str = sc.nextLine(); // 0으로 이루어진 그룹과 1로 이루어진 그룹 중 적은 그룹의 수를 찾으면 해결 가 // 그룹? 연속된 숫자의 모임 int count0 = 0;// 0의 그룹 카운 int count1 = 0;// 1의 그룹 카운트 String[] strArr = str.split(""); // 처음 원소만 num에 넣고 해당 숫자 카운트 증..
멍목
'코테 공부' 태그의 글 목록 (13 Page)