📖 문제
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를 split한 후 int 배열에 저장하고, 이를 정렬해서 최솟값과 최댓값을 찾는다.
import java.util.Arrays;
public class Solution {
public static String solution(String s) {
String answer = "";
// 공백을 기준으로 s를 split한다
String[] arr = s.split(" ");
// int 로 형변환한다
int[] a = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
a[i] = Integer.parseInt(arr[i]);
}
// 정렬하여 최솟값과 최댓값을 찾는다
Arrays.sort(a);
answer = a[0] + " " + a[a.length - 1];
return answer;
}
public static void main(String[] args) {
String s = "-1 -2 -3 -4";
System.out.println(solution(s));
}
}
✏️ 고찰
문제에서 대놓고 String으로 정렬하면 틀리는 테스트케이스 줬는데
급하게 푸느라 그대로 정렬했다가 앗촷차~
레전드 하수~~
'알고리즘' 카테고리의 다른 글
[프로그래머스 Lv.2] 이진 변환 반복하기.java (0) | 2023.04.09 |
---|---|
[프로그래머스 Lv.2] 올바른 괄호.java (1) | 2023.04.09 |
[프로그래머스 Lv.2] JadenCase 문자열 만들기.java (0) | 2023.04.06 |
[프로그래머스 Lv.2] 최솟값 만들기.java (0) | 2023.04.06 |
[프로그래머스 Lv. 2] 광물 캐기.java (0) | 2023.04.02 |