반응형
문제 설명
문자열 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"
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
String[] str = s.split(" "); //공백을 기준으로 나눠주기. -도 문자열로 들어가기때문에 나눠주는 것.
int[] arr = new int[str.length];
for(int i=0;i<arr.length;i++){
int num = Integer.parseInt(str[i]);
arr[i] = num;
}
Arrays.sort(arr);
int min_num = arr[0];
int max_num = arr[arr.length-1];
answer = String.valueOf(min_num) + " " + String.valueOf(max_num);
return answer;
}
}
처음에 charAt()으로 분리했는데 '-'도 하나씩 구분이 되었다..문자열이라는 걸 잊고있었어..
고민끝에 공백을 기준으로 분리!!
split(" ") 해주니까 -3 -4 이렇게 배열에 잘 들어갔다.
그대로 정렬해주고 실행했는데 -가 붙은 배열만 오류가 났다.
이 배열만 정렬이 안됐어..
이건 배열이 String타입이어서 그런 것 같길래 바로 int 배열에 넣어주었다.
다시 정렬하고 제일 앞에 있는 데이터를 최솟값에 넣어주고, 제일 마지막에 있는 데이터를 최댓값에 넣어주었다.
answer은 문자열이니까 String.valueOf()로 변환해주고, 공백도 넣어준 뒤 실행하니
성!공!
반응형
'코딩테스트 > JAVA' 카테고리의 다른 글
| [JAVA/프로그래머스] 올바른 괄호 (0) | 2023.06.06 |
|---|---|
| [JAVA/프로그래머스] JadenCase 문자열 만들기 (0) | 2023.06.05 |
| [JAVA/프로그래머스] 예산 (0) | 2023.05.31 |
| [JAVA/프로그래머스] 최대공약수와 최소공배수 (0) | 2023.05.30 |
| [JAVA/프로그래머스] 3진법 뒤집기 (0) | 2023.05.29 |