Algorithm Programming/Java
[자바 알고리즘] 나이 차이
DOGvelopers
2020. 1. 7. 13:26
반응형
광고 클릭은 개발자(저) 에게 큰 힘이 됩니다!!'ㅁ'
| 문제
N(2<=N<=100)명의 나이가 입력됩니다. 이 N명의 사람 중 가장 나이차이가 많이 나는 경우는 몇 살일까요? 최대 나이 차이를 출력하는 프로그램을 작성하세요.
| 입력설명
자연수 N(2<=N<=100)이 입력되고, 그 다음 줄에 N개의 나이가 입력된다.
| 출력설명
최대 나이차이를 출력합니다.
| 입력 예제
10
13 15 34 23 45 65 33 11 26 42
| 출력 예제
54
| 풀이
int의 자료형 max = -2,147,483,648 , min = 2,147,483,647 초기화,
입력된 나이가 max 랑 비교하여 가장큰값이 max에 할당되고 가장 작은값이 min값에 할당 후 빼주면 됨
- 첫번째
그냥 나이를 담아서 비교후 계산 , 하지만 나이를 한명한명 입력하는건 배열에 굳이 담을 필요가 없음
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n,i,j,age,max=-2147000000,min=2147000000;
System.out.println("인원수 입력");
n = sc.nextInt();
int[] ages = new int[n];
for(i=0;i<n;i++){
System.out.printf("나이 입력 %d ",i+1);
int num = sc.nextInt();
ages[i] = num;
}
for(j = 0;j < ages.length; j++){
age = ages[j];
if(age > max) max = age;
if(age<min) min = age;
}
System.out.printf("%d",max - min);
}
}
- 두번째
그냥 입력되는값을 비교하여 계산하면 됨
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n,i,j,age,max=-2147000000,min=2147000000;
System.out.println("인원수 입력");
n = sc.nextInt();
for(i=0;i<n;i++){
System.out.printf("나이 입력 %d ",i+1);
int num = sc.nextInt();
if(num > max) max = num;
if(num<min) min = num;
}
System.out.printf("%d",max - min);
}
}
- 세번째
초기값이 주어져 있을 때
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i,age,max=-2147000000,min=2147000000;
int[] ages = {13, 15, 34, 23, 45, 65, 33, 11, 26, 42};
for(i = 0;i < ages.length; i++){
age = ages[i];
if(age > max) max = age;
if(age<min) min = age;
}
System.out.printf("%d",max - min);
}
}
반응형