[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