일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Spring JDBC
- AOP
- XML
- JdbcTemplate
- POJO
- spring aop
- JDBC TEMPLATE
- Di
- java
- 컨테이너
- Linux
- unix
- 리눅스
- @test
- pointcut
- @AspectJ
- Spring Boot
- SpringJDBC
- 프로퍼티
- spring framework
- @Spring-Test
- Dependency Injection
- myBatis
- spring
- 마이바티스
- Framework
- java spring
- STS
- @JUnit
- Ubunt
Archives
- Today
- Total
개키우는개발자 : )
[자바 알고리즘] 나이 차이 본문
반응형
광고 클릭은 개발자(저) 에게 큰 힘이 됩니다!!'ㅁ'
| 문제
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);
}
}
반응형
'Algorithm Programming > Java' 카테고리의 다른 글
[자바 알고리즘] 숫자만 추출 (0) | 2020.01.08 |
---|---|
[자바 알고리즘] 나이 계산 (0) | 2020.01.07 |
[자바 알고리즘] 진약수의 합 (4) | 2020.01.07 |
[자바 알고리즘] 자연수의 합 (0) | 2020.01.07 |
[자바 알고리즘] 1부터 N까지 M의 배수합 (0) | 2020.01.07 |
Comments