알고리즘 문제를 풀다보면 항상 까먹는 개념이 있다.
하루마다 알고리즘을 문제를 풀려고 노력하고 잇지만 조금이라도 쉬다보면 까먹는 개념을 정리하고 공부하기 위하여 정리해보는 메모장을 만들어 기록하고 꾸준히 보도록 노력하기 위하여 만들었다.
1, List를 배열에 넣어주기
초기에는 어떻게 넣어줘야할지 몰라 배열을 넣는것 처럼 선언하였다.
하지만 당연하게 List를 배열에다 그대로 넣을 수는 없다. 이 부분은 매번 까먹는 것 같다.
class Solution {
public String[] solution(String[] strArr) {
List<String> stringList = new ArrayList<>();
for (int i = 0; i < strArr.length; i++){
if (!strArr[i].contains("ad")){
stringList.add(strArr[i]);
}
}
String[] answer = new String[stringList.size()];
for (int i = 0; i < stringList.size(); i++){
answer[i] = stringList[i];
}
System.out.println(Arrays.toString(answer));
return answer;
}
}
수정코드
class Solution {
public String[] solution(String[] strArr) {
List<String> stringList = new ArrayList<>();
for (int i = 0; i < strArr.length; i++){
if (!strArr[i].contains("ad")){
stringList.add(strArr[i]);
}
}
String[] answer = new String[stringList.size()];
for (int i = 0; i < stringList.size(); i++){
answer[i] = stringList.get(i);
}
System.out.println(Arrays.toString(answer));
return answer;
}
}
List를 배열에다 담을 경우 get() 함수를 호출하여 하나씩 배열에 담아준다. 여기서 get을 하면 가능한 이유를 적어보자.
1, get() 메서드를 사용하여 인덱스에 해당하는 요소를 가지고 온다.
2, stringList의 i번째 요소를 가져와서 answer[i]에 할당한다.