문제 바로가기 : https://www.acmicpc.net/problem/6198
메모리 : 22372KB
시간 : 2788ms
언어 : Java 11
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
long[] building = new long[N];
int[] cnt = new int[N];
for (int i = 0; i < N; i++) {
building[i] = Integer.parseInt(br.readLine());
}
for (int i = 0; i < N; i++) {
for (int j = i + 1; j < N; j++) {
if (building[i] > building[j]) {
cnt[i]++;
} else {
break;
}
}
}
long ans = 0;
for (int i = 0; i < N; i++) {
ans += cnt[i];
}
System.out.println(ans);
}
}
8만개의 빌딩이라서 8만*4만이면 시간초과는 안 날것같아서 그냥 완탐..ㅎㅎ long을 조심해야한다. 진짜 문제의 의도는 스택을 사용하는 풀이였다! 스택을 사용해 자기보다 작은 빌딩을 스택에서 뺴고, 스택의 사이즈를 더하면 나를 보고 있는 빌딩이 된다. 내가 볼 수 있는 빌딩이 아닌 나를 볼 수 있는 빌딩을 구하는 것이 포인트..
'Algorithm' 카테고리의 다른 글
[Algo] 백준 15729 방탈출 JAVA (0) | 2024.05.08 |
---|---|
[Algo] 백준 1535 안녕 JAVA (0) | 2024.05.08 |
[Algo] 백준 2800 괄호 제거 JAVA (0) | 2024.05.08 |
[Algo] 백준 28138 재밌는 나머지 연산 JAVA (1) | 2024.05.08 |
[Algo] 백준 21738 얼음깨기 펭귄 JAVA (0) | 2024.05.08 |