999 또는 -999
10XP쉬움
정답률 76% · 제출 1,736회 · 예상 소요 시간 7분
12아쉬워요
1 StarEmpty내 리스트에 추가
최대 100개의 세 자리 이하 정수가 차례로 주어지다가 999나 -999가 주어지면 입력 받는 것을 종료하고 이 숫자를 제외한 수 중 가장 큰 숫자와 가장 작은 숫자를 출력하는 프로그램을 작성해보세요.
입력 형식
첫 번째 줄에 세 자리 이하의 정수가 공백을 사이에 두고 차례로 주어집니다. (단, 999나 -999는 반드시 세 번째 이후부터 주어지며, 가장 끝으로 주어지는 숫자는 항상 999 혹은 -999임을 가정해도 좋습니다.)
- -999 ≤ 주어지는 정수 ≤ 999
출력 형식
주어진 숫자들 중 가장 큰 숫자와 가장 작은 숫자를 차례로 사이에 공백을 두고 출력합니다.
입출력 예제
예제1
입력:
123 0 789 -998 999
출력:
789 -998
예제2
입력:
1 4 -999
출력:
4 1
예제 설명
예제1에서 5번째에 999가 주어졌으므로 999 이전의 숫자 중 가장 큰 789와 가장 작은 -998이 출력됩니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 배열을 구현합니다.
int[] arr = new int[100];
// 999나 -999가 주어지기 전까지 100개의 정수를 입력받습니다.
for(int i = 0; i < 100; i++) {
arr[i] = sc.nextInt();
if(arr[i] == 999 || arr[i] == -999)
break;
}
int maxVal = arr[0];
int minVal = arr[0];
// 주어진 숫자들 중 최댓값과 최솟값을 구합니다.
for(int i = 1; i < 100; i++) {
if(arr[i] == 999 || arr[i] == -999)
break;
if(arr[i] > maxVal)
maxVal = arr[i];
if(arr[i] < minVal)
minVal = arr[i];
}
// 최댓값과 최솟값을 출력합니다.
System.out.print(maxVal + " " + minVal);
}
}
최댓값과 최솟값을 구할때 쓰는
// 주어진 숫자들 중 최댓값과 최솟값을 구합니다.
for(int i = 1; i < 100; i++) {
if(arr[i] == 999 || arr[i] == -999)
break;
if(arr[i] > maxVal)
maxVal = arr[i];
if(arr[i] < minVal)
minVal = arr[i];
}
이 부분이 정~말 중요한듯
'알고리즘 > 코드트리' 카테고리의 다른 글
코드트리 | 객체 / 코드네임 [자바 java] (0) | 2024.08.05 |
---|---|
코드트리 dx dy 테크닉/ 문자에 따른 명령2 (0) | 2024.08.02 |
코드트리/ 최대로 겹치는 구간, 지점 (1) | 2024.07.25 |
코드트리 / 겹치지 않는 사각형의 넓이 [자바 java] (1) | 2024.07.24 |
코드트리 최대공약수 구하기 [자바 java] (0) | 2024.07.09 |