1 1003 ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜
๋‹จ์ˆœ ์žฌ๊ท€๋กœ ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด ์™œ ๋А๋ฆด๊นŒ์š”? ํ•จ์ˆ˜ ํ˜ธ์ถœ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
		int T = Integer.parseInt(bfr.readLine());
		for(int i=0; i<T; i++) {
			int num = Integer.parseInt(bfr.readLine());
			int zero = 1;
			int one = 0;
			int temp;
			for(int j=0; j<num; j++) {
				temp = one;
				one = zero + one;
				zero = temp;
			}
			System.out.println(zero + " " + one);
		}
	}

}

2 9184 ์‹ ๋‚˜๋Š” ํ•จ์ˆ˜ ์‹คํ–‰
์žฌ๊ท€ ํ˜ธ์ถœ๋งŒ ์ƒ๊ฐํ•˜๋ฉด ์‹ ์ด ๋‚œ๋‹ค! ์•„๋‹Œ๊ฐ€์š”?

import java.util.Scanner;

public class Main {
	static int array[][][] = new int[51][51][51];
	
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int a=0, b=0, c=0;
		while(true){
			a = scan.nextInt();
			b = scan.nextInt();
			c = scan.nextInt();
			if(a==-1 && b==-1 && c==-1) break;
			System.out.printf("w(%d, %d, %d) = %d\n",a,b,c,w(a,b,c));
			
		}

	}
	
	static int w(int a, int b, int c) {
		if(a<=0 || b<=0 || c<=0)
			return 1;
		else if(array[a][b][c] != 0)
			return array[a][b][c];
		else if(a>20 || b>20 || c>20)
			return array[a][b][c] = w(20,20,20);
		else if(a<b && b<c)
			return array[a][b][c] = w(a,b, c-1) + w(a, b-1, c-1) - w(a, b-1, c);
		else
			return array[a][b][c] = w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1) - w(a-1, b-1, c-1);
	}

}

3 1904 01ํƒ€์ผ
์ ํ™”์‹์˜ ๊ฐ’์„ ํŠน์ • ์ƒ์ˆ˜๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	static int[] array = new int [1000001];

	public static void main(String[] args) throws IOException {
		BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(bfr.readLine());
		array[0] = 1;
		array[1] = 2;
		array[2] = 3;
		for(int i=3; i<=N; i++) {
			array[i] = array[i-1] + array[i-2];
			array[i] %= 15746;
				
		}
		System.out.println(array[N-1]);
		
	}

}

4 9461 ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด
ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์™€ ๋น„์Šทํ•œ ๊ทœ์น™์„ ์ฐพ์•„ ๋™์  ๊ณ„ํš๋ฒ•์œผ๋กœ ํ‘ธ๋Š” ๋ฌธ์ œ

import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int T = scan.nextInt();
		for(int i =0; i<T; i++) {
			int a = scan.nextInt();
			if(a==1 || a==2 || a==3) {
				System.out.println(1);
				continue;
			}
	
			Long array[] = new Long[a];
			array[0] =(long) 1;
			array[1] =(long)1;
			array[2] =(long)1;
			
			for(int j=3; j<a; j++) {
				array[j] = array[j-3] + array[j-2];
			}
			
			System.out.println(array[a-1]);
		}

	}

}

5 1149 RGB๊ฑฐ๋ฆฌ
i๋ฒˆ์งธ ์ง‘์„ ๊ฐ๊ฐ์˜ ์ƒ‰์œผ๋กœ ์น ํ•  ๋•Œ, 1~i๋ฒˆ์งธ ์ง‘์„ ๋ชจ๋‘ ์น ํ•˜๋Š” ์ตœ์†Œ ๋น„์šฉ์œผ๋กœ ๋ถ€๋ถ„๋ฌธ์ œ๋ฅผ ์ •์˜ํ•ด๋ด…์‹œ๋‹ค.

import java.util.Scanner;

public class Main {
	static int T;
	static int array[][], dp[][];
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		T = scan.nextInt();
		
		//๋ฐฐ์—ด๊ฐ’ ์ €์žฅ.
		array = new int[T][T];
		for(int i=0; i<T; i++) {
			for(int j=0; j<=i; j++) {
				array[i][j] = scan.nextInt();
			}
		}
		//๊นŠ์ดํƒ์ƒ‰ํ• ๋ฐฐ์—ด ์ƒ์„ฑ 
		dp =new int [T][T];
		for(int i=0; i<T; i++)
			dp[T-1][i] = array[T-1][i];
			//๋งจ ์•„๋ž˜์ธต ๊ฐ’๋งŒ ์ €์žฅ
		System.out.println(test(0,0));
	}
	
	static int test(int depth, int index) {
		if(depth == T-1) return dp[depth][index];
		
		if(dp[depth][index] == 0) {
			dp[depth][index] = Math.max(test(depth+1, index), test(depth+1, index+1)) + array[depth][index];
		}
		return dp[depth][index];
	}
}

6 1932 ์ •์ˆ˜ ์‚ผ๊ฐํ˜•
๊ฐ ์ธต์˜ ๋ชจ๋“  ์นธ๋งˆ๋‹ค ์ตœ๋Œ“๊ฐ’์„ ์ €์žฅํ•˜๋ฉด์„œ ๋™์  ๊ณ„ํš๋ฒ•์œผ๋กœ ํ‘ธ๋Š” ๋ฌธ์ œ

import java.util.Scanner;

public class Main {
	static int T;
	static int array[][], dp[][];
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		T = scan.nextInt();
		
		//๋ฐฐ์—ด๊ฐ’ ์ €์žฅ.
		array = new int[T][T];
		for(int i=0; i<T; i++) {
			for(int j=0; j<=i; j++) {
				array[i][j] = scan.nextInt();
			}
		}
		//๊นŠ์ดํƒ์ƒ‰ํ• ๋ฐฐ์—ด ์ƒ์„ฑ 
		dp =new int [T][T];
		for(int i=0; i<T; i++)
			dp[T-1][i] = array[T-1][i];
			//๋งจ ์•„๋ž˜์ธต ๊ฐ’๋งŒ ์ €์žฅ
		System.out.println(test(0,0));
	}
	
	static int test(int depth, int index) {
		if(depth == T-1) return dp[depth][index];
		
		if(dp[depth][index] == 0) {
			dp[depth][index] = Math.max(test(depth+1, index), test(depth+1, index+1)) + array[depth][index];
		}
		return dp[depth][index];
	}
}

7 2579 ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ
i๋ฒˆ์งธ ๊ณ„๋‹จ์— ์˜ค๋ฅผ ๋•Œ, ๋ช‡ ๊ฐœ์˜ ์—ฐ์†ํ•œ ๊ณ„๋‹จ์„ ์˜ฌ๋ž๋Š”์ง€๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๋ถ€๋ถ„๋ฌธ์ œ๋ฅผ ์ •์˜ํ•ด๋ด…์‹œ๋‹ค.

import java.util.Scanner;

public class Main {
   public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);
      //์ž…๋ ฅ๊ฐ’ ์ž…๋ ฅ๋ฐ›๊ธฐ
      int T = scan.nextInt();
      int array[] =new int [T+1];
      int dp[]= new int [T+1];
      
      for(int i=1; i<=T; i++)
         array[i] = scan.nextInt();
      
      dp[1] = array[1];
      if(T>=2) dp[2] = array[2]+dp[1];
      
      for(int i=3; i<=T; i++) {
    	  dp[i] = Math.max((array[i] + array[i-1] + dp[i-3]), (array[i] + dp[i-2]));
      }
	  System.out.println(dp[T]);
	  
   }
}

8 1463 1๋กœ ๋งŒ๋“ค๊ธฐ
๋ฉ”๋ชจ์ด์ œ์ด์…˜์œผ๋กœ N์„ 1๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด ์ฃผ์–ด์ง„ ์—ฐ์‚ฐ์„ ๋ช‡ ๋ฒˆ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๊ณ„์‚ฐํ•˜๋Š” ๋ฌธ์ œ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws IOException{
		BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(bfr.readLine());

		int dp[] = new int[n+1];
		
		//n์ด 0์ด๊ฑฐ๋‚˜ 1์ด๋ฉด ์ตœ์†ŒํšŸ์ˆ˜=0์ž„
		dp[0] = dp[1] = 0; 

		//n์ด 2์ด์ƒ์ด๋ฉด ์…‹์ค‘์— ๊ฐ€์žฅ ์ž‘์€๊ฐ’.
		for(int i=2; i<=n; i++) {
			dp[i] = dp[i-1]+1;
			if(i%3==0) dp[i] = Math.min(dp[i], dp[i/3]+1);
			if(i%2==0) dp[i] = Math.min(dp[i], dp[i/2]+1);
		}
		System.out.println(dp[n]);
	}
}
728x90
๋ฐ˜์‘ํ˜•
Liky