
Solution 1) 내 풀이
import java.util.*;
class Solution {
public int[] solution(String[] intStrs, int k, int s, int l) {
List<Integer> list = new ArrayList<>();
for (int i = 0; i < intStrs.length; i++) {
if (Integer.parseInt(intStrs[i].substring(s, s + l)) > k) {
list.add(Integer.parseInt(intStrs[i].substring(s, s + l)));
}
}
int[] answer = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
}
List를 반복문을 통해 배열화 시킴
int[] answer = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
Solution 2) 배열화에 stream 사용
import java.util.*;
class Solution {
public int[] solution(String[] intStrs, int k, int s, int l) {
List<Integer> list = new ArrayList<>();
for (int i = 0; i < intStrs.length; i++) {
if (Integer.parseInt(intStrs[i].substring(s, s + l)) > k) {
list.add(Integer.parseInt(intStrs[i].substring(s, s + l)));
}
}
return list.stream().mapToInt(Integer::intValue).toArray();
}
}
스트림은 아직 익숙치 않아 사용이 잘 안된다.
list.stream().mapToInt(Integer::intValue).toArray();
list의 스트림 생성 > mapToInt(Integer:::intValue) 로 Integer를 int로 매핑 > toArray()로 int 배열로 변환