1) SW Expert Academy 정책상 문제 자체를 퍼가는 것은 금지되며 링크와 출처로 명시해 주시기 바랍니다.
2) 문제에 대한 본인의 풀이에 대해서는 개인 학습 등 상업적 용도가 아닌 경우에만 문제 출처와 함께 게시가 가능합니다.
※ 저작권 이슈가 있을 시 법적 제재를 받을 수 있으니 참고하여주시기 바랍니다.
문제 설명
나의 풀이
import java.util.Scanner;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
// int T = sc.nextInt();
int T = 10; // 문제에서 테스트 케이스가 10으로 고정됨
for(int z = 1; z <= T; z++)
{
int townCount = sc.nextInt();
int[] arr = new int[townCount];
for(int i = 0; i < townCount; i++){
arr[i] = sc.nextInt();
}
// 2차원 배열 생성
int[][] map = new int[255][arr.length];
// 건물 높이만큼 2차원 배열에 1로 표시
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < arr[i]; j++){
map[j][i] = 1;
}
}
// 조망권을 확인하고 2로 표시
for(int i = 2; i < arr.length - 2; i++){
for(int j = 0; j < arr[i]; j++){
if(map[j][i - 2] == 1 || map[j][i - 1] == 1 || map[j][i + 1] == 1 || map[j][i + 2] == 1){
continue;
} else {
map[j][i] = 2; // 조망권이 확보된 세대는 2로 표시
}
}
}
// 2로 표시된 세대 카운트
int count = 0;
for(int i = 0; i < arr.length; i++){
for(int j = 0; j < 255; j++){
if(map[j][i] == 2){
count++;
}
}
}
System.out.println("#" + z + " " + count);
}
sc.close();
}
}
다른 풀이
import java.util.*;
import java.io.*;
class Solution
{
public static void main(String args[]) throws Exception
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for(int t = 1; t <= 10; t++)
{
int N = Integer.parseInt(br.readLine());
int arr[] = new int[N];
int result =0;
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i=0; i<N; i++){
arr[i] = Integer.parseInt(st.nextToken());
}
for(int j=2; j<N-2; j++){
int max = 0;
max = Math.max(arr[j-2], arr[j-1]);
max = Math.max(max, arr[j+1]);
max = Math.max(max, arr[j+2]);
if(max<arr[j]){
result += arr[j]-max;
}
}
System.out.println("#"+t+" "+result);
}
}
}
'👨💻 Coding Test' 카테고리의 다른 글
[SW Expert Academy/Java/D3] 1209.Sum (0) | 2024.11.08 |
---|---|
[SW Expert Academy/Java/D3] 1208.Flatten (0) | 2024.11.06 |
[SW Expert Academy/Java/D2] 1284.수도 요금 경쟁 (1) | 2024.10.31 |
[SW Expert Academy/Java/D1] 1936.1대1 가위바위보 (0) | 2024.10.31 |
[SW Expert Academy/Java/D3] 5642.합 (0) | 2024.10.25 |