본문 바로가기
알고리즘/코드트리

코드트리/ 999 또는 -999 [자바 java]

by 발빠진 쥐 2024. 7. 30.

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];
        }

 

 

이 부분이 정~말 중요한듯