문제
내가 작성한 정답
class Solution {
public int[] solution(int[] arr) {
for(int i=0; i<arr.length; i++){
if(arr[i]>=50 && arr[i]%2==0){
arr[i] = arr[i]/2;
} else if(arr[i]<50 && arr[i]%2==1){
arr[i] = arr[i]*2;
}
}
return arr;
}
}
다른 사람들의 정답
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
// Arrays.stream(arr)로 arr 배열을 스트림으로 변환하고,
return Arrays.stream(arr)
// map 메서드를 사용하여 각 요소에 대해 변환 작업을 수행
.map(operand ->
// operand가 50 이상이고 짝수인 경우, operand를 2로 나눔
operand >= 50 && operand % 2 == 0 ? operand / 2
// operand가 50 미만이고 홀수인 경우, operand를 2배로 만듦
: operand < 50 && operand % 2 == 1 ? operand * 2
// 위의 조건에 해당하지 않는 경우, operand를 그대로 유지
: operand
)
// 변환된 요소들을 배열로 변환하여 반환
.toArray();
}
}
Share article