문제정리
문자열 s 은 공백으로 구분된 숫자
위의 숫자중 최소값과 최대값을 찾아 차례로 리턴
내가 생각한 키워드는 공백, 최소값 최대값 순서로 반환, s는 둘 이상의 정수
→ 여기서 좀더 생각해야했던 부분은 문자열 s를 정수로 형 변환 후 다시 문자열로 전환 해야된다는 점
내가 작성한 코드
class Solution {
public String solution(String s) {
String answer = "";
String[] strs = s.split(" ");
int[] arr = new int[strs.length];
for (int i = 0; i < strs.length; i++) {
arr[i] = Integer.parseInt(strs[i]);
}
int min = arr[0];
int max = arr[0];
for (int k = 0; k < arr.length; k++) {
if (min > arr[k]) {
min = arr[k];
}
if (max < arr[k]) {
max = arr[k];
}
}
answer = min + " " + max;
return answer;
}
}
→ 시간은 20분.. 아무 생각없이 arraylist 도입하려다가 딱 막혀버림..;;;
위에는 진짜 어떻게든 해결하려고 작성한 코드인데 분명히 더 간단한 방식이 있을 것 같다.
다른 분들 코드도 살펴보니 나와 비슷하게 작성한 분이 많았고, 다른 코드는
String[] array = str.split(" ");
int[] arrayInt = new int[array.length];
for (int i = 0; i < arrayInt.length; i++) {
arrayInt[i] = Integer.parseInt(array[i]);
}
Arrays.sort(arrayInt);
String result = arrayInt[0] + " " + arrayInt[arrayInt.length - 1];
return result;
Arrays.sort
그러네 대박.. 오름차순 왜 생각을 못했지
반복문을 다시 사용을 안해도 되는데 음.. 좀 더 활용해보자
'코딩테스트' 카테고리의 다른 글
프로그래머스(JAVA) - level2(구명보트) (1) | 2025.01.20 |
---|---|
프로그래머스(JAVA) - level2(카펫) (1) | 2025.01.18 |
프로그래머스(JAVA) - level2(숫자의 표현) (0) | 2025.01.13 |
프로그래머스(JAVA) - level2(JadenCase 문자열 만들기 ) (0) | 2025.01.12 |
프로그래머스(JAVA) - level2(최솟값 만들기) (0) | 2025.01.11 |