[Java 알고리즘 String] indexOf(), substring() 함수의 개념과 코딩

substring() 함수와 indexOf() 함수는 필수로 알아야 하는 함수이다. 함수의 개념을 알고 문제를 풀면서 활용해보자

 

[indexOf()함수와 substring() 함수개념]

substring(beginIndex, endIndex) : beginIndex부터 endIndex 앞에 까지 문자열을 return 하고
substring(index) : index 부터 문자열을 return 한다.

 

ex)

"12341234".substring(0, 8) => 12341234

"12341234".substring(0) => 12341234

 


indexOf(String str) : 문자의 위치를 return하며, 없으면 -1을 return 한다.
indexOf(String str, int fromIdx) : fromIdx 이후 부터 문자의 위치를 return 한다. 

 

ex) 

"12341234".indexOf("23") => 1

"12341234".indexOf("23", 4) => 5

"12341234".indexOf("21") => -1

 

 

아래 코딩은 같은 문자열을 뽑아내는 코드다.

public class IndexOfSubstring {
    public static void main(String args[]) {
        String[] str = {"test", "tescher", "rerteere", "t"};

        System.out.println(new IndexOfSubstring().solve(str));
    }

    public String solve(String[] strs) {
        String first = strs[0];

        for(int i = 1; i<strs.length; i++) {
            while(strs[i].indexOf(first) == -1) {
                    first = first.substring(0, first.length()-1);
                }
            }

        return first;
    }
}

 

 

[참고]

인프런 강의 / 코딩테스트 전 꼭 알아야 할 개념과 문제(with 자바) / 푸샵맨 코딩스터디 

댓글

Designed by JB FACTORY