2024-04-23
작성
programers에서 문제 풀이한 내용입니다.
문제 설명
문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를 들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다.
제한 조건
- s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
입출력 결과
s | answer |
"1 2 3 4" | "1 4" |
"-1 -2 -3 -4" | "-4 -1" |
"-1 -1" | "-1 -1" |
문제 풀이 1
public String getMinMaxString_1(String str) {
String[] numbers = str.split(" ");
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for (int i = 0; i < numbers.length; i++) {
int number = Integer.parseInt(numbers[i]);
min = Math.min(min, number);
max = Math.max(max, number);
}
return min + " " + max;
}
다른 사람 풀이 2
public String getMinMaxString_2(String str) {
String[] numbers = str.split(" ");
int min, max, n;
min = max = Integer.parseInt(numbers[0]);
for (int i = 1; i < numbers.length; i++) {
n = Integer.parseInt(numbers[i]);
if (min > n)
min = n;
if (max < n)
max = n;
}
return min + " " + max;
}
'Computer Science > 자료구조 & 알고리즘' 카테고리의 다른 글
알고리즘 문제 풀이 #3 JadenCase 문자열 만들기 (0) | 2024.05.07 |
---|---|
알고리즘 문제 풀이 #2 올바른 괄호 (1) | 2024.04.27 |
자료구조(Data Structure)와 추상자료형(ADT) (1) | 2023.11.24 |
알고리즘 공부 방법 (1) | 2019.11.10 |