728x90
🔗 문제 링크
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
📌 문제 개요
공백으로 구분된 정수들이 하나의 문자열로 주어진다.
문자열에 포함된 숫자들 중 최솟값과 최댓값을 찾아 "최솟값 최댓값" 형태의 문자열로 반환하는 문제이다.
예시
"1 2 3 4"
"1 4"
📌 접근 방법
문자열을 공백 기준으로 나누면 각각의 숫자를 문자열 배열로 얻을 수 있다.
String[] arr = s.split(" ");
이후 반복문을 돌면서 정수로 변환하고 최솟값과 최댓값을 갱신한다.
int num = Integer.parseInt(arr[i]);
모든 숫자를 확인한 뒤 "min max" 형태로 문자열을 만들어 반환한다.
📌 핵심 아이디어
1. 문자열 분리
공백을 기준으로 문자열을 나누어 각 숫자를 얻는다.
String[] arr = s.split(" ");
예시
"1 2 3 4"
["1", "2", "3", "4"]
2. 최솟값과 최댓값 초기화
첫 번째 값을 기준으로 초기화하면 음수가 포함되어 있어도 정상적으로 처리할 수 있다.
int min = Integer.parseInt(arr[0]);
int max = Integer.parseInt(arr[0]);
3. 최소값, 최대값 갱신
현재 숫자와 비교하여 최솟값과 최댓값을 갱신한다.
min = Math.min(min, num);
max = Math.max(max, num);
4. 결과 문자열 생성
문제에서 요구하는 형식대로 반환한다.
return min + " " + max;
📌 전체 코드
class Solution {
public String solution(String s) {
String[] arr = s.split(" ");
int min = Integer.parseInt(arr[0]);
int max = Integer.parseInt(arr[0]);
for (String str : arr) {
int num = Integer.parseInt(str);
min = Math.min(min, num);
max = Math.max(max, num);
}
return min + " " + max;
}
}
📄 정리
split(" ")으로 문자열을 숫자 배열 형태로 분리한다.Integer.parseInt()로 문자열을 정수로 변환한다.Math.min(),Math.max()를 이용해 최솟값과 최댓값을 갱신한다.- 한 번의 반복문으로 최소값과 최대값을 동시에 구할 수 있다.
728x90
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
| 프로그래머스 최솟값 만들기 JAVA 풀이 (그리디, 정렬) (0) | 2026.06.21 |
|---|---|
| 프로그래머스 JadenCase 문자열 만들기 JAVA 풀이 (문자열, 구현) (0) | 2026.06.20 |
| 프로그래머스 이웃한 칸 JAVA 풀이 (0) | 2026.06.18 |
| 프로그래머스 실패율 JAVA 풀이 (정렬, 구현) (0) | 2026.06.17 |
| 프로그래머스 덧칠하기 JAVA 풀이 (그리디) (0) | 2026.06.16 |