코딩테스트 풀이/JAVA
[LeetCode/Easy] 1408. String Matching in an Array
무지맘
2022. 12. 24. 02:46
1. Input
1) 문자열 배열 words
2. Output
1) 다른 문자열에 포함되는 문자열(substring)을 배열에 담아 반환
2) 문자열을 담는 순서는 상관없다.
3. Constraint
1) 1 <= words.length <= 100
2) 1 <= words[i].length <= 30
3) words[i]는 영어 소문자로만 이루어져 있다.
4) words에는 중복 단어가 없다.
4. Example
Input: words = ["mass","as","hero","superhero"] -> Output: ["as","hero"]
설명:
- “as”는 “mass”에 포함되는 문자열
- “hero”는 “superhero”에 포함되는 문자열
- 따라서 ["as","hero"] 또는 ["hero", "as"]를 반환한다.
5. Code
1) 첫 코드(2022/07/29)
import java.util.*;
List<String> list = new ArrayList();
for(int i=0 ; i<words.length ; i++){
for(int j=0 ; j<words.length ; j++){
String x = words[i].length() >= words[j].length() ? words[i] : words[j];
String y = words[i].length() < words[j].length() ? words[i] : words[j];
if(i!=j && x.contains(y) && !list.contains(y)){
list.add(y); break;
}
} // for j
} // for i
return list;