1. 문제 링크
2. 문제 및 입출력예제
3. 문제 풀이
- 악보 난이도를 입력받으면서 앞의 난이도보다 낮은 경우 값을 1만큼 추가한다.
- dp로 값을 누적하면서 배열에 저장하고 입력 받은 곡 사이 값의 차이를 출력한다.
4. 코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
int[] music = new int[N+1];
int[] dp = new int[N+1];
int num = 0;
String[] split = br.readLine().split(" ");
for(int i=1;i<N+1;i++) {
num = Integer.parseInt(split[i-1]);
music[i] = num;
if(music[i-1]>music[i]) {
dp[i] = dp[i-1]+1;
}
else {
dp[i] = dp[i-1];
}
}
int T = Integer.parseInt(br.readLine());
for(int t=0;t<T;t++) {
split= br.readLine().split(" ");
int x = Integer.parseInt(split[0]);
int y = Integer.parseInt(split[1]);
sb.append(dp[y]-dp[x]).append("\n");
}
System.out.println(sb);
}
}
'ALGORITHM' 카테고리의 다른 글
백준 12865 평범한 배낭 (Java) (0) | 2023.04.18 |
---|---|
백준 2206 벽 부수고 이동하기 (Java) (0) | 2023.04.17 |
백준 10775 공항 (Java) (0) | 2023.04.16 |
백준 2573 빙산 (Java) (1) | 2023.04.16 |
백준 1149 RGB 거리 (Java) (0) | 2023.04.15 |