perry05

[백준] 10818- 최소, 최대 (JAVA) 본문

문제풀이 기록/JAVA

[백준] 10818- 최소, 최대 (JAVA)

perry05 2022. 11. 23. 17:52

[백준] 단계별로 풀어보기 - 1차원 배열

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.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.io.IOException;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n;
		StringTokenizer in;
		int min, max;
		
		// 입력
		// 첫번째 줄
		n = Integer.parseInt(br.readLine());
		// 두번째 줄
		in = new StringTokenizer(br.readLine());
		br.close();
		
		// 최솟값, 최댓값 구하기
		min = max = Integer.parseInt(in.nextToken());
		for(int i = 1; i < n; i++) {
			int num = Integer.parseInt(in.nextToken());
			if (min > num) min = num;
			if (max < num) max = num;
		}
		
		// 출력하기
		System.out.println(min + " " + max);
	}
}

 

최솟값, 최댓값 구하는 부분에서 아무 생각없이 삼항연산자를 사용했다가 if문으로 변경했다.

실행시간이 40ms 줄어들었다.

Comments