[백준] 10818. 최소, 최대
문제
https://www.acmicpc.net/problem/10818
풀이(1)
BufferedReader를 이용해 숫자를 입력 받고, 그 숫자 만큼의 배열을 생성한다.
StringTokenizer를 통해서 입력 받은 숫자들을 배열에 하나씩 넣어준다.
max와 min에는 임의의 값을 지정해 준 다음 for문을 통해서 값을 비교 후에 최소, 최대값을 저장한다.
코드(1)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n];
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
int max = arr[0];
int min = arr[0];
for(int i = 0; i < n; i++) {
if(arr[i] < min) min = arr[i];
if(arr[i] > max) max = arr[i];
}
System.out.println(min + " " + max);
}
}
풀이(2)
배열 문제이기 때문에 배열을 생성해서 배열 내의 값을 서로 비교해 최소, 최대값을 구해야 하는 것이 정석이지만 찾아보니 꽤 간단한 방법이 있어서 그 방법으로도 풀이해보도록 한다!
배열을 생성하지 않고 Integer.parseInt(br.readLine())로 숫자 한개를 우선 입력 받고 StringTokenizer를 통해 입력 받은 여러 문자열을 쪼개서 담아둔다.
그리고 문제에서 주어진 n의 조건 보다 큰 값을 min에, 작은 값을 max에 두고 StringTokenizer에 있는 문자열을 반복문으로 돌린다.
📢 st.hasMoreTokens() → st에 남아있는 Token이 있는지 확인하는 것 : true면 아직 남아있는 것이므로 반복문은 계속 돌아가고 false라면 반복문은 종료됨.
val 변수에 token값을 넣어주고 val값이 min값 보다 작다면 min = val.(max는 반대로)
→ 최소값과 최대값이 구해지면 출력한다.
코드(2)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int min = 1000001;
int max = -1000001;
while(st.hasMoreTokens()) {
int val = Integer.parseInt(st.nextToken());
if(val < min) min = val;
if(val > max) max = val;
}
System.out.println(min + " " + max);
}
}
Author And Source
이 문제에 관하여([백준] 10818. 최소, 최대), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bonni/백준-10818.-최소-최대저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)