코린이의 소소한 공부노트

[LeetCode/Easy] 1408. String Matching in an Array 본문

코딩테스트 풀이/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;