문제
아래와 같이 강변에 8채의 빌딩이 있을 때, 연두색으로 색칠된 여섯 세대에서는 좌우로 2칸 이상의 공백이 존재하므로 조망권이 확보된다. 이 때, 조망권이 확보되는 세대 수를 구하는 문제
풀이방법
1) 완전 탐색으로 각 빌딩마다 좌, 우 2칸 씩 조망권이 확보되는지 확인
2) 조망권이 확보될 경우 좌, 우 2칸 중 가장 높은 빌딩과의 차를 구한다.
소스코드
package samsung;
import java.util.*;
public class s_1206 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for(int t = 1; t <= 10; t++) {
int n = sc.nextInt();
int cnt = 0;
int[] a = new int[n];
for(int i = 0; i < n; i++) {
a[i] = sc.nextInt();
}
for(int i = 2; i < n - 2; i++) {
int[] b = new int[4];
b[0] = a[i-2];
b[1] = a[i-1];
b[2] = a[i+1];
b[3] = a[i+2];
if(b[0] < a[i] && b[1] < a[i] && b[2] < a[i] && b[3] < a[i]) {
int max = 0;
for(int j = 0; j < 4; j++) {
max = Math.max(max, b[j]);
}
cnt += (a[i] - max);
}
}
System.out.println("#" + t + " " + cnt);
}
}
}
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA] 1209. [S/W 문제해결 기본] 2일차 - Sum (0) | 2020.02.16 |
---|---|
[SWEA] 1208. [S/W 문제해결 기본] 1일차 - Flatten (0) | 2020.02.16 |
[SWEA] 1959. 두 개의 숫자열 (0) | 2020.02.15 |
[SWEA] 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 (0) | 2020.02.15 |
[SWEA] 1215. [S/W 문제해결 기본] 3일차 - 회문1 (0) | 2020.02.15 |
댓글