처음부터 차근차근

최댓값, 최솟값 구하기 본문

알고리즘

최댓값, 최솟값 구하기

_soyoung 2022. 9. 22. 03:03
반응형

문제

https://www.acmicpc.net/problem/10818

 

10818번: 최소, 최대

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

www.acmicpc.net

 

내 풀이

import java.io.*;
import java.util.*;
public class Main
{
   public static void main(String[] args) throws IOException {
       int num, max = -1000000, min = 1000000;
       int[] arr;
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
      
      num = Integer.parseInt(br.readLine());
      arr = new int[num];
      
      StringTokenizer st = new StringTokenizer(br.readLine());
      for (int i = 0; i < num; i++) {
          arr[i] = Integer.parseInt(st.nextToken());
      }
      
      for (int i = 0; i < num; i++) {
          if (max < arr[i]) {
              max = arr[i];
          }
          if (min > arr[i]) {
              min = arr[i];
          }
      }
      
      bw.write(String.valueOf(min) + " " + String.valueOf(max));
      bw.flush();
      
      br.close();
      bw.close();
   }
}

 

다른 사람 풀이를 봤더니

min = Math.min(min, num);
max = Math.max(max, num);

이런식으로 math 함수를 써서 최솟값, 최댓값을 찾았다.

 

반응형

'알고리즘' 카테고리의 다른 글

평균 구하기  (0) 2022.09.27
평균 넘는 사람 비율 구하기  (0) 2022.09.24
투포인터 알고리즘  (0) 2022.09.15
DSDV 알고리즘과 Link State 알고리즘  (0) 2022.04.01
달팽이 배열 알고리즘  (1) 2022.03.02
Comments