문제 설명
문자열 배열 strArr가 주어집니다. 배열 내의 문자열 중 "ad"라는 부분 문자열을 포함하고 있는 모든 문자열을 제거하고 남은 문자열을 순서를 유지하여 배열로 return 하는 solution 함수를 완성해 주세요.
제한사항
1 ≤ strArr의 길이 ≤ 1,000 1 ≤ strArr의 원소의 길이 ≤ 20 strArr의 원소는 알파벳 소문자로 이루어진 문자열입니다.
나의 코드
import java.util.List;
import java.util.ArrayList;
class Solution {
public String[] solution(String[] strArr) {
List<String> list = new ArrayList<>();
for(int i=0; i<strArr.length; i++) {
if(!strArr[i].contains("ad")) {
list.add(strArr[i]);
}
}
String[] answer = new String[list.size()];
for(int j=0; j<list.size(); j++) {
answer[j] = list.get(j);
}
return answer;
}
}
느낀 점
contains()
함수를 사용해서 요소들마다 ad
가 포함되었는지 찾았고, 포함되어 있지 않으면 List
에 저장시켜서 마지막에 답으로 원하는 타입인 String 배열
로 변환해줬다. 앞서 풀었던 문제들 덕분에 크게 어렵진 않았다 :)