
내가 작성한 코드 1 (반복문 버전)
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;
continue;
}
if(arr[i] < 50 && arr[i] % 2 == 1) {
arr[i] = arr[i] * 2;
continue;
}
}
return arr;
}
}
내가 작성한 코드 2 (스트림 버전)
import java.util.stream.IntStream;
class Solution {
public int[] solution(int[] arr) {
return IntStream.of(arr)
.map(i -> i >= 50 && i % 2 == 0 ? i / 2 : i < 50 && i % 2 == 1 ? i * 2 : i)
.toArray();
}
}
IntStream.range()
와IntStream.of()
IntStream.range()
이후의map
에서의i
는 인덱스 값IntStream.of()
이후의map
에서의i
는 원소 값
Share article