๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
[JAVA/์ฝ๋ฉํ ์คํธ] ์ต๋ ๋ถ๋ถ ์ฆ๊ฐ์์ด ๋ณธ๋ฌธ
๊ฐ๋ฐ/์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA
[JAVA/์ฝ๋ฉํ ์คํธ] ์ต๋ ๋ถ๋ถ ์ฆ๊ฐ์์ด
์์ผ์ด 2022. 7. 6. 23:58๋ฐ์ํ
์ค๋ช
N๊ฐ์ ์์ฐ์๋ก ์ด๋ฃจ์ด์ง ์์ด์ด ์ฃผ์ด์ก์ ๋, ๊ทธ ์ค์์ ๊ฐ์ฅ ๊ธธ๊ฒ ์ฆ๊ฐํ๋(์์ ์์์ ํฐ ์๋ก) ์์๋ค์ ์งํฉ์ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ.
์๋ฅผ ๋ค์ด, ์์๊ฐ 2, 7, 5, 8, 6, 4, 7, 12, 3 ์ด๋ฉด ๊ฐ์ฅ ๊ธธ๊ฒ ์ฆ๊ฐํ๋๋ก ์์๋ค์ ์ฐจ๋ก๋๋ก ๋ฝ์๋ด๋ฉด 2, 5, 6, 7, 12๋ฅผ ๋ฝ์๋ด์ด
๊ธธ์ด๊ฐ 5์ธ ์ต๋ ๋ถ๋ถ ์ฆ๊ฐ์์ด์ ๋ง๋ค ์ ์๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ ๋ ฅ๋๋ ๋ฐ์ดํฐ์ ์ N(3≤N≤1,000, ์์ฐ์)๋ฅผ ์๋ฏธํ๊ณ ,
๋์งธ ์ค์ N๊ฐ์ ์ ๋ ฅ๋ฐ์ดํฐ๋ค์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ๋ถ๋ถ์ฆ๊ฐ์์ด์ ์ต๋ ๊ธธ์ด๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
8
5 3 7 8 6 2 9 4
์์์ถ๋ ฅ
4
import java.util.*;
public class Main {
public int solution(int[] array){
int result = 1;
int[] dy = new int[array.length];
dy[0] = 1;
for(int i=1; i<array.length; i++){
int max = 0;
for(int j=i-1; j>=0; j--){
if(array[j] < array[i] && dy[j] > max){
max = dy[j];
}
}
dy[i] = max + 1;
result = Math.max(result, dy[i]);
}
return result;
}
public static void main(String[] args) {
Main main = new Main();
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] array = new int[n];
for(int i=0; i<n; i++){
array[i] = in.nextInt();
}
System.out.println( main.solution(array));
}
}
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA/์ฝ๋ฉํ ์คํธ] ๋์ ๊ตํ(๋ ์์๊ณ ๋ฆฌ์ฆ) (0) | 2022.07.13 |
---|---|
[JAVA/์ฝ๋ฉํ ์คํธ] 4. ๊ฐ์ฅ ๋์ ํ ์๊ธฐ (0) | 2022.07.09 |
[JAVA/์ฝ๋ฉํ ์คํธ] ๋๋ค๋ฆฌ ๊ฑด๋๊ธฐ (0) | 2022.07.05 |
[JAVA/์ฝ๋ฉํ ์คํธ] ๊ณ๋จ์ค๋ฅด๊ธฐ (0) | 2022.07.05 |
[JAVA/์ฝ๋ฉํ ์คํธ] ํผ์ ๋ฐฐ๋ฌ ๊ฑฐ๋ฆฌ(์ผ์ฑ SW์ญ๋ํ๊ฐ ๊ธฐ์ถ๋ฌธ์ : DFSํ์ฉ) (0) | 2022.03.22 |
Comments