4828.[S/W 문제해결 기본] 1일차 -min max
문제 이해
N개의 양의 정수에서 가장 큰 수와 가장 작은 수의 차이를 출력하시오.
첫 째줄 테스트 케이스의 수 T 각 케이스의 첫 줄에 양수의 개수 N 주어짐 다음 줄에 N개의 양수의 개수가 주어짐.
생각
배열에 담아주지 않고 한번에 처리하려고 했다. 하지만 max 값은 한번에 처리가 가능하지만, min 값과 같은 경우 초기에 i번째의 값을 넣고 초기화를 시켜줘야 한다. 따라서 배열에 담아준 뒤, 게산을 하는 방식으로 변경하였다.
주의할점 -> 출력할 때, 정수형 계산과 문자열 합치기를 동시에 사용할 순 없어. 덧셈 연산자를 진행할 때, 연산자 중 한 쪽이 String 형이면, 나머지 쪽을 String 형태로 변환 한 다음에 두 String형을 문자열을 결합하는 방식으로 진행되기 떄문이다.
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
int T = stdIn.nextInt();
int i,j;
for(i = 1 ; i <= T; i ++) {
int N = stdIn.nextInt();
int []array = new int[N];
//출력할 number
//배열에 일단 다 넣어준다.
for(j = 0 ; j<N; j++) {
array[j] = stdIn.nextInt();
}
int max = array[0];
int min = array[0];
for(j = 0; j< N; j++) {
if(array[j]>max)
max=array[j];
if(array[j]<min)
min=array[j];
}
int result = max-min;
System.out.println("#"+i +" " + result);
}
}
}
참고자료
swexpertacademy.com