์šฐ๊ทœ์ด์ธ์šฐ์œค
Eager To Learn ๐ŸŒŒ
์šฐ๊ทœ์ด์ธ์šฐ์œค
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿก ํ™ˆ
  • ๐Ÿš€ ๊นƒํ—ˆ๋ธŒ
  • โ›… ํƒœ๊ทธ ํด๋ผ์šฐ๋“œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (217)
    • ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS (170)
      • JAVA (82)
      • MYSQL (1)
      • Docker (2)
      • PYTHON (24)
      • LeetCode 150 (39)
      • Algorithm ๊ธฐ๋ฒ• (1)
      • ๋ฐ”ํ‚น๋… (21)
    • ๋ธ”๋กœ๊ทธ ์ด์‚ฌ (0)
    • Error (1)
    • CS (15)
      • DataBase (2)
      • OS (7)
      • Network (1)
      • Spring (1)
      • ์ž๋ฃŒ๊ตฌ์กฐ (3)
      • Java (1)
    • Learned (7)
      • Spring (7)
    • ๊ฐœ๋ฐœ์„œ์  (15)
      • ๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ (1)
      • ์˜ค๋ธŒ์ ํŠธ - ์กฐ์˜ํ˜ธ (7)
      • ์นœ์ ˆํ•œ SQL ํŠœ๋‹ (7)
    • ํšŒ๊ณ  (2)
hELLO ยท Designed By ์ •์ƒ์šฐ.
์šฐ๊ทœ์ด์ธ์šฐ์œค

Eager To Learn ๐ŸŒŒ

๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS/JAVA

[JAVA] ๋ฐฑ์ค€ 11053๋ฒˆ ใ€๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ดใ€‘

2022. 9. 20. 21:11


dp ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜์—ฌ dp[i] ๋Š” Array[i]๊นŒ์ง€์˜ ์›์†Œ๋“ค๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด ๊ธธ์ด์˜ ์ตœ๋Œ“๊ฐ’์„ ์ž…๋ ฅํ•  ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ๊ธธ์ด๋Š” ์ตœ์†Œ 1 ๊ฐ’์„ ๊ฐ€์ง€๋ฏ€๋กœ, dp์˜ ๋ชจ๋“  ์›์†Œ๋Š” ๋””ํดํŠธ 1์„ ๊ฐ€์ง„๋‹ค๋Š” ์‚ฌ์‹ค์€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 

dp๋ฅผ ์ฑ„์šฐ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์•Œ์•„๋ณด์ž.

 

 

์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด, dp 6๋ฒˆ์งธ ์›์†Œ๋ฅผ ์ฑ„์›Œ์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

 

 

 

 

Array์˜ ์ฒซ๋ฒˆ์งธ ์›์†Œ 10์€ 40๋ณด๋‹ค ์ž‘์œผ๋ฏ€๋กœ, ๋ถ€๋ถ„์ˆ˜์—ด์˜ ๊ธธ์ด๋Š” 10์ด ๊ฐ€์ง„ dp๊ฐ’ 1๋ณด๋‹ค 1์ด ํฐ 2๋กœ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

Array์˜ ๋‘๋ฒˆ์งธ ์›์†Œ 20์€ 40๋ณด๋‹ค ์ž‘์œผ๋ฏ€๋กœ, ๋ถ€๋ถ„์ˆ˜์—ด์˜ ๊ธธ์ด๋Š” 20์ด ๊ฐ€์ง„ dp๊ฐ’ 2๋ณด๋‹ค 1์ด ํฐ 3์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

Array์˜ ์„ธ๋ฒˆ์งธ ์›์†Œ 30์€ 40๋ณด๋‹ค ์ž‘์œผ๋ฏ€๋กœ, ๋ถ€๋ถ„์ˆ˜์—ด์˜ ๊ธธ์ด๋Š” 30์ด ๊ฐ€์ง„ dp๊ฐ’ 3๋ณด๋‹ค 1์ด ํฐ 4์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

Array์˜ ๋„ค๋ฒˆ์งธ ์›์†Œ 23์€ 40๋ณด๋‹ค ์ž‘๊ณ , ๋ถ€๋ถ„์ˆ˜์—ด์˜ ๊ธธ์ด๋Š” 23์ด ๊ฐ€์ง„ dp๊ฐ’ 3๋ณด๋‹ค 1์ด ํฐ 4์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด๋ฏธ 40์ด ๊ฐ€์ง„ dp๊ฐ’์€ 4์ด๋ฏ€๋กœ ๋ณ€ํ™”๋Š” ์—†๋‹ค.

 

 

 

 

Array์˜ ๋‹ค์„ฏ๋ฒˆ์งธ ์›์†Œ 25์€ 40๋ณด๋‹ค ์ž‘๊ณ , ๋ถ€๋ถ„์ˆ˜์—ด์˜ ๊ธธ์ด๋Š” 25์ด ๊ฐ€์ง„ dp๊ฐ’ 4๋ณด๋‹ค 1์ด ํฐ 5์œผ๋กœ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

์ฆ‰, dp[i]๋ฅผ ์ฑ„์šฐ๊ธฐ ์œ„ํ•ด์„œ Array[i] ์™€ Array[0] ๋ถ€ํ„ฐ Array[i-1]์„ ๋น„๊ตํ•˜๊ณ , 

 

Array[i] > Array[j]์ธ ๊ฒฝ์šฐ ( j์˜ ๋ฒ”์œ„๋Š” 0 ~ i-1)

 

dp[j] + 1 ๊ฐ’์ด dp[i]๊ฐ’ ๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ dp[j]+1์„ dp[i]๋กœ ์—…๋ฐ์ดํŠธ ํ•˜๋ฉด ๋˜๋Š” ๋ฉ”์นด๋‹ˆ์ฆ˜์ธ ๊ฒƒ์ด๋‹ค.

 

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

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.valueOf(br.readLine());
		int[] dp = new int[N + 1];
		int[] array = new int[N + 1];
		String[] input = br.readLine().split(" "); // ์ˆ˜์—ด์„ split์„ ์ด์šฉํ•˜์—ฌ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆˆ String ๋ฐฐ์—ด๋กœ ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค.
		
		
		for (int i = 1; i <= N; i++) {
			array[i] = Integer.valueOf(input[i - 1]); //์ž…๋ ฅ๋ฐ›์€ ์ˆ˜์—ด์ด String์ด๊ธฐ ๋•Œ๋ฌธ์—, int๋กœ ๋ฐ”๊พผ ํ›„ array ๋ฐฐ์—ด์„ ์ฑ„์šด๋‹ค.
			dp[i] = 1; //์–ด๋–ค ์ˆ˜๊ฐ€ ์˜ค๋“  ๋ถ€๋ถ„์ˆ˜์—ด ๊ธธ์ด์˜ ์ตœ์†Ÿ๊ฐ’์€ 1์ด๋ฏ€๋กœ 1์„ ๋‹ค ์ž…๋ ฅํ•ด์ค€๋‹ค.
		}

		for (int i = 1; i <= N; i++) {
			for (int j = 1; j < i; j++) {
				if (array[i] > array[j] && dp[j] + 1 > dp[i]) { 
                //1 ~ i-1 ๋ฒˆ์งธ ์›์†Œ๋“ค ์ค‘ i๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ ๊ทธ๋ฆฌ๊ณ  ํ˜„์žฌ dp[i] ๋ณด๋‹ค dp[j]+1์ด ํฐ ๊ฒฝ์šฐ ์—…๋ฐ์ดํŠธ
					dp[i] = dp[j] + 1; 
                    
				}

			}
		}
		Arrays.sort(dp); //dp๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์คŒ
		System.out.println(dp[N]); // ์ œ์ผ ๋’ค์—์žˆ๋Š” ๊ฐ’์ด ์ตœ๋Œ“๊ฐ’์ผ ๊ฒƒ
	}
}
    '๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS/JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JAVA] ๋ฐฑ์ค€ 11722๋ฒˆ ใ€๊ฐ€์žฅ ๊ธด ๊ฐ์†Œํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ดใ€‘
    • [JAVA] ๋ฐฑ์ค€ 11055๋ฒˆ ใ€๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ดใ€‘
    • [JAVA] ๋ฐฑ์ค€ 2156๋ฒˆ ใ€ํฌ๋„์ฃผ ์‹œ์‹ใ€‘
    • [JAVA] ๋ฐฑ์ค€ 9465๋ฒˆ ใ€์Šคํ‹ฐ์ปคใ€‘
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ๊ฐœ๋ฐœ์ž ๊ฟˆ๋‚˜๋ฌด

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”