728x90
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
while문으로 해결
import java.util.Scanner;
class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for (int tc = 1; tc <= 10; tc++) {
int n = sc.nextInt();
int arr[] = new int[n];
int count = 0;
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
for (int i = 2; i < n - 2; i++) {
int num = arr[i];
int left1 = arr[i - 1];
int left2 = arr[i - 2];
int right1 = arr[i + 1];
int right2 = arr[i + 2];
while (true) {
if (num > left1 && num > left2 && num > right1 && num > right2) {
count++;
num--;
} else {
break;
}
}
}
System.out.println("#" + tc + " " + count);
}
}
}
max값과 비교해서 해결
import java.util.Scanner;
class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for (int tc = 1; tc <= 10; tc++) {
int n = sc.nextInt();
int arr[] = new int[n];
int count = 0;
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
for (int i = 2; i < n - 2; i++) {
int num = arr[i];
int left1 = arr[i - 1];
int left2 = arr[i - 2];
int right1 = arr[i + 1];
int right2 = arr[i + 2];
int maxNeighbor = Integer.MIN_VALUE;
if (num > left1 && num > left2 && num > right1 && num > right2) {
maxNeighbor = Math.max(Math.max(left1, left2), Math.max(right1, right2));
count += num - maxNeighbor;
}
}
System.out.println("#" + tc + " " + count);
}
}
}
while문을 계속해서 돌리는 것보단 밑 코드가 더 합리적인 것 같다.
import java.util.Scanner;
class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for (int tc = 1; tc <= 10; tc++) {
int n = sc.nextInt();
int arr[] = new int[n];
int sum = 0;
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
for (int i = 2; i < n - 2; i++) {
int max = Integer.MIN_VALUE;
for (int j = i - 2; j <= i + 2; j++) {
if (j == i)
continue;
max = Math.max(max, arr[j]);
}
if (max < arr[i]) {
sum += arr[i] - max;
}
}
System.out.println("#"+tc+" "+sum);
}
}
}728x90
'SW Expert Academy > SWEA D3' 카테고리의 다른 글
| [SW Expert Academy] 늘어지는 소리 만들기 (D3) (0) | 2024.09.13 |
|---|---|
| [SW Expert Academy] [S/W 문제해결 기본] 8일차 - 암호문2 (0) | 2024.09.12 |
| [SW Expert Academy] 두 수의 덧셈 (D3) (0) | 2024.09.12 |
| [SW Expert Academy] 새샘이의 7-3-5 게임 (D3) (0) | 2024.09.12 |
| [SW Expert Academy] [S/W 문제해결 기본] 5일차 - GNS (D3) (0) | 2024.09.12 |