728x90
반응형
n개의 봉우리(활잡이)가 존재합니다.
각 봉우리는 높이가 다르고, 높은 봉우리에 있는 활잡이가 낮은 봉우리를 처치할 수 있습니다.
공격은 오른쪽으로만 진행되고, 더 높은 봉우리를 만날 시 패배합니다.
이 때 가장 많은 적을 처치하는 봉우리는 몇명의 적을 처치할 수 있는지 출력해야 합니다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int n = Integer.parseInt(br.readLine());
int arr[] = new int[n];
st = new StringTokenizer(br.readLine()," ");
for(int i=0; i<arr.length; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
int result = 0;
for(int i=0; i<arr.length-1; i++) {
int count = 0;
for(int j=i; j<arr.length-1; j++ ) {
if(arr[i] > arr[j+1]) {
count += 1;
if(count > result) {
result = count;
}
}
else {
break;
}
}
}
System.out.println(result);
br.close();
}
}
arr 배열 안에 봉우리 높이들을 입력받았습니다.
2중 for문을 이용해 각 봉우리 높이를 전부 비교하였고, 높을 경우 count를 1개 올리고 낮을 경우 다음 봉우리로 넘어갔습니다.
그렇게 가장 높은 count(처치수)를 기록하면 그 값을 result 변수에 저장했고,
최종적으로 result를 출력하여 문제를 해결하였습니다.
728x90
반응형
'Algorithm > 나머지 문제들' 카테고리의 다른 글
[프로그래머스 / Python] 주사위 게임 3 (4) | 2023.12.05 |
---|---|
[Baekjoon/JAVA] 백준 10813번 공 바꾸기 (0) | 2023.07.15 |
[Baekjoon/JAVA] 백준 10811번 바구니 뒤집기 (0) | 2023.06.30 |
[Baekjoon/JAVA] 백준 10810번 공 넣기 (0) | 2023.06.27 |
[Baekjoon/JAVA] 백준 10871번 X보다 작은 수 (0) | 2023.06.27 |