import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(br.readLine());
int[] arr = new int[a];
String str = br.readLine();
int max = 0;
int min = 0;
StringTokenizer st = new StringTokenizer(str, " ");
for(int i = 0; i<a; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
System.out.println(arr[0] + " " + arr[a-1]);
}
}
Arrays.sort라는 메소드를 새롭게 알게되었다. 배열의 값을 오름차순으로 정렬해주는 메소드라 최소값, 최대값이나 몇 번째로 작거나 큰 값을 구할 때 편리할 것 같다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(br.readLine());
int[] arr = new int[a];
String str = br.readLine();
int max = 0;
int min = 0;
StringTokenizer st = new StringTokenizer(str, " ");
for(int i = 0; i<a; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
for(int i = 0; i< (a-1); i++) {
if(arr[i+1] < arr[i]) {
min = arr[i+1];
}
if(arr[i+1] > arr[i]) {
max = arr[i+1];
}
}
System.out.print(min + " " + max);
}
}
이건 Arrays.sort를 모른 상태로 처음 풀었던 코드이다. 오름차순 정렬은 생각을 못했고, 배열의 값들을 일일히 비교해서 최소값, 최대값을 구하는 코드였다. 결과는 그래도 맞게 구해졌던 것 같은데 오답처리되었다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
String str;
while( (str=br.readLine()) != null) {
st = new StringTokenizer(str, " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
if( a == 0 && b == 0) {
break;
}
System.out.println(a+b);
}
}
}
입력이 있다면 계속해서 반복하게 반복문을 작성하고 a, b가 둘 다 0일때 반복문을 탈출하게 하였다. 탈출!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
String str;
while( (str=br.readLine()) != null) {
st = new StringTokenizer(str, " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
System.out.println(a+b);
}
}
}
입력받는 값이 null이 아니라면 계속해서 연산을 진행하는 반복문을 작성했다.