package _17;

import java.util.ArrayList;

public class Main2 {
	
	public static void main(String[] args) {
		
		String[] arr = {"teacher", "dddtest", "myteach!!!!!"};
		ArrayList<String> list = solve(arr);
		for(String str : list) {
			System.out.println(str);
		}
	}
	public static ArrayList<String> solve(String[] arr) {
		
		if(arr.length == 0) {
			return null;
		}
		
		String firstStr = arr[0];
		String result = null;
		ArrayList<String> list = new ArrayList();
		
		for (int i = 1; i < arr.length; i++) {
			int j = 0;
			int idx = -1;			
			while(idx < 0) {
				idx = arr[i].indexOf(firstStr.substring(0, firstStr.length() - j));
				result = firstStr.substring(0, firstStr.length() - j);				
				j++;
			}
			list.add(result);
		}				
		return list;
	}
};

 

탐색시 앞에서 한문자씩 찾는 것이 아니라, 전체부터 탐색한 다음 하나씩 줄여가면서 찾기

teacher 

teache

theac

...

..

'JAVA > 프로그래머스' 카테고리의 다른 글

19.두 개 뽑아서 더하기 (Array, List, ArrayList)  (0) 2021.02.28
18.수박수박수박수박수박수? (StringBuilder)  (0) 2021.02.28
16. 괄호 짝 맞추기  (0) 2021.02.11
15. 더하기  (0) 2021.02.11
13. 숫자 개수  (0) 2021.01.04