2023-03-29 데일리 코딩
문제 풀이 방식
removeElement
메소드를 통해 특정 인덱스의 값을 지운 새로운 배열을 리턴하는 함수를 먼저 작성해야 겠다고 생각하였다.- 같은 값이 있을 경우 뒤에 있는 인덱스부터 빼주기
- for문을 이용해 거꾸로 순회해주기
문제 풀이 (Java)
솔루션 메소드를 제외한 문제 풀이에 사용한 메소드입니다.
String[] maxString(String[] arr){
int maxLen = Arrays.stream(arr).mapToInt(String::length).max().orElse(0);
for(int i = arr.length -1 ; i >= 0 ; i--){
if(arr[i].length() == maxLen)
return removeElement(arr, i);
}
return arr;
}
String[] minString(String[] arr){
int minLen = Arrays.stream(arr).mapToInt(String::length).min().orElse(0);
for(int i = arr.length -1 ; i >= 0 ; i--){
if(arr[i].length() == minLen)
return removeElement(arr, i);
}
return arr;
}
String[] removeElement(String[] arr, int idx){
if (arr == null
|| idx < 0
|| idx >= arr.length) return arr;
String[] res = new String[arr.length -1];
for(int i = 0, k = 0; i < arr.length; i++){
if (i == idx) continue;
res[k++] = arr[i];
}
return res;
}
}
Leave a comment