📌 문제
문제명 | 백준 10818 - 최소, 최대 |
Link | https://www.acmicpc.net/problem/10818 |
분류 | 1차원 배열 |
난이도 | B3 |
풀이 일자 | 2025-04-11 |
📌 문제 탐색하기
N개의 정수가 주어졌을때 최솟값과 최댓값을 출력하기
필요한 변수
n : 정수를 입력 받음
strArr : n개의 정수를 배열에 저장
intArr : 문자열 배열을 정수형으로 변환
min : 최솟값
max : 최댓값
문자열 배열을 정수형으로 전환하고 반복문을 통해 min과 max를 추출
📌 코드 설계하기
1. n을 입력 받음
2. strArr의 n의 개수에 대한 정수를 입력 받음
3. 문자열 배열을 정수열 배열로 전환하기(strArr -> intArr)
4. min과 max변수의 intArr[0] 초기화
5. 반복문을 통해 최솟값과 최댓값을 비교하여 추출
6. min, max 출력
📌 시도 회차 수정 사항 (Optional)
없음
📌 정답 코드
package org.example.day05;
import java.io.*;
/**
* description : 백준 10818 - 최소, 최대
* packageName : org.example.day05
* fileName : Day05_BaekJoon_Q10818
* author : kimjongha
* date : 25. 4. 11.
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 25. 4. 11. kimjongha 최초 생성
*/
public class Day05_BaekJoon_Q10818 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
// 1. n을 입력받음
int n = Integer.parseInt(br.readLine());
// 2. strArr의 n의 개수에 대한 정수를 입력 받음
String[] strArr = br.readLine().split(" ");
// 정수형 배열 초기화
int[] intArr = new int[n];
// 3. 문자열 배열을 정수열 배열로 전환하기(strArr -> intArr)
for (int i = 0; i < n; i++) {
intArr[i] = Integer.parseInt(strArr[i]);
}
// 4. min과 max변수의 intArr[0] 초기화
int min = intArr[0];
int max = intArr[0];
// 5. 반복문을 통해 최솟값과 최댓값을 비교하여 추출
for (int i = 0; i < n; i++) {
if(intArr[i] < min) {
min = intArr[i];
}
if(intArr[i] > max) {
max = intArr[i];
}
}
// 6. min, max 출력
bw.write(min + " " + max + "\n");
bw.flush();
bw.close();
}
}
📌 느낀점
문자열을 정수형 배열로 변환할때 스트림도 활용할 수 있음!
'알고리즘, 자료구조' 카테고리의 다른 글
[코딩 챌린지 11기 새싹반] 백준 10988 - 팰린드롬인지 확인하기 (Java) (1) | 2025.04.13 |
---|---|
[코딩 챌린지 11기 새싹반] 백준 2738 - 행렬 덧셈 (Java) (1) | 2025.04.12 |
[코딩 챌린지 11기 새싹반] 백준 8393 - 합 (0) | 2025.04.10 |
[코딩 챌린지 11기 새싹반] 백준 25304 - 영수증 (0) | 2025.04.09 |
[코딩 챌린지 11기 새싹반] 백준 15552 - 빠른 A+B (0) | 2025.04.08 |