Computer Science/Programming practice

[JAVA] SW Expert Academy 1206 - S/W 문제해결 기본

꿈꾸는어린이 2018. 7. 4. 23:41

18.07.04


공부해야할 것

- 자바 배열

- 자바 라이브러리 sort 등

- 버퍼 사용법

- 파일에서 값 input 하기

 


https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh&categoryId=AV134DPqAA8CFAYh&categoryType=CODE


  package SW1206;

import java.util.*;
import java.io.*;

public class SW1206 {

public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
System.out.println("시작");

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

int width = Integer.parseInt(br.readLine());
int[] arr = new int[width];

//스트링 토크나이저를 이용해 readLine()을 통해 한 줄을 한번에 입력받은것을 띄어쓰기(" ")를 기준으로 쪼갬
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int i = 0;
int count = 0;

while(st.hasMoreTokens()){
//nextToken()을 통해 띄어쓰기(" ")를 제거하고 남은 숫자를 스트링 형태에서 int로 형변환하여 arr에 저장.
arr[i] = Integer.parseInt(st.nextToken());
i++;
}

/*for(int j = 0; j < width; j++){
System.out.print(arr[j]+" ");
}*/

for(int j = 2; j < width-2; j++){
int k = j;
int temp[] = {arr[k-2], arr[k-1], arr[k+1], arr[k+2]};
Arrays.sort(temp);
//System.out.println(temp);

if((arr[k] > arr[k+1]) && (arr[k] > arr[k-1]) && (arr[k] > arr[k+2]) && (arr[k] > arr[k-2])){
//int m = arr[k] - temp[3];
count += arr[k] - temp[3];
//System.out.println(k+","+m);
//System.out.println(count);
}
else{
continue;
}

}

System.out.println("결과");
System.out.println(count);

}

}