반응형
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12939
문제 설명
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최솟값과 최댓값을 찾아 이를 "(최솟값) (최댓값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.
예를 들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.
제한사항
- s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
입출력 예
s | return |
"1 2 3 4" | "1 4" |
"-1 -2 -3 -4" | "-4 -1" |
"-1 -1" | "-1 -1" |
코드
class Solution {
public String solution(String s) {
// 주어진 문자열을 공백을 기준으로 나눠서 문자열 배열로 저장
String[] sArr = s.split(" ");
// 최대값과 최소값을 첫 번째 문자열로 초기화
int max = Integer.parseInt(sArr[0]);
int min = Integer.parseInt(sArr[0]);
// 문자열 배열을 순회하며 최대값과 최소값을 계산
for (String str : sArr) {
int temp = Integer.parseInt(str);
// 현재 숫자가 최소값보다 작으면 최소값을 업데이트
if (min > temp) {
min = temp;
}
// 현재 숫자가 최대값보다 크면 최대값을 업데이트
if (max < temp) {
max = temp;
}
}
return min + " " + max;
}
}
코드 설명
주석 참고
- 이 문제는 주어진 문자열에서 숫자들을 추출하여 최솟값과 최댓값을 찾아 반환하는 문제다.
- 입력 문자열 s를 공백(" ")을 기준으로 나누어 문자열 배열 sArr에 저장한다.
- 최댓값 max와 최솟값 min을 첫 번째 숫자로 초기화한다.
- sArr 배열을 순회하여 현재 숫자를 나타내는 temp에 각 숫자를 정수로 변환한다.
- temp가 min보다 작으면 min 값을 temp로 업데이트한다.
- temp가 max보다 크면 max 값을 temp로 업데이트한다.
반응형
'코딩 테스트(Coding Test) > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 최솟값 만들기 - 자바(Java) (1) | 2023.08.13 |
---|---|
[프로그래머스] JadenCase 문자열 만들기 - 자바(Java) (0) | 2023.08.12 |
[프로그래머스] 개인정보 수집 유효기간 - 자바(Java) (0) | 2023.08.10 |
[프로그래머스] 개인정보 수집 유효기간 - 자바(Java) (0) | 2023.08.09 |
[프로그래머스] 달리기 경주 - 자바(Java) (0) | 2023.08.08 |