- 처음 짠 코드 (별로다..)
import java.util.Scanner;
public class Jung561 {
public static void main(String[] args) {
// 10개의 정수를 입력받아 100 미만의 수 중 가장 큰 수와
//100 이상의 수 중 가장 작은 수를 출력하는 프로그램을 작성하시오.
//(입력되는 정수의 범위는 1이상 10,000 미만이다.
//만약 해당하는 수가 없을 때에는 100 을 출력한다.)
String[] arr = new String[10];
int [] arr2 = new int[10];
Scanner sc = new Scanner(System.in);
String num = sc.nextLine();
arr = num.split(" ");
for(int i =0; i<10;i++) {
arr2[i] = Integer.parseInt(arr[i]);
}
int min = 10000;
int max = 0;
for(int i =0; i<10;i++) {
if(arr2[i]<100 && max<arr2[i]) {
max = arr2[i];
}
if(arr2[i]>=100 && min>arr2[i]) {
min = arr2[i];
}
}
if(min==10000) min = 100;
if(max==0) max = 100;
System.out.print(max+" "+min);
}
}
- 입력값을 넣는 부분을 바꾼 코드
import java.util.Scanner;
public class Jung564 {
public static void main(String[] args) {
int[] arr = new int[10];
Scanner sc = new Scanner(System.in);
for(int i =0; i<10;i++) {
int input = sc.nextInt();
arr[i]=input;
System.out.println(arr[i]);
}
int min = 10000;
int max = 0;
for(int i =0; i<10;i++) {
if(arr[i]<100 && max<arr[i]) {
max = arr[i];
}
if(arr[i]>=100 && min>arr[i]) {
min = arr[i];
}
}
if(min==10000) min = 100;
if(max==0) max = 100;
System.out.print(max+" "+min);
}
}
처음 코드 / 바뀐 코드 부분
왼쪽보다 오른쪽이 훨씬 간단하고 직관적이다.
원래 입력값이 한줄로 되어있으면 nextInt()는 쓸 수 없는 줄 알았는데 아니었다 ...
'코딩 연습 > 정올' 카테고리의 다른 글
[JAVA] 568 : 배열2 - 자가진단5 (0) | 2023.03.05 |
---|---|
[JAVA] 564 : 배열2 - 자가진단1 (0) | 2023.03.05 |