백준 알고리즘 문제를 풀다가 알게되어 정리해본다.
String name = "devandy";
에서 알파벳 a가 문자열 name에서 몇번째 인덱스에 있는가?
이 질문에 대해 그냥 풀어보면 이렇게 작성해볼 수 있을 것 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class devAndy { int searchIndexOf(String str, char c){ String[] arr = str.split(""); int indesx = -1; for(int i=0; i<arr.length; i++){ if(arr[i].equals(String.valueOf(c))){ index = i; } } return index; } public static void main(String[] args){ devandy d = new devandy(); String name = "devandy"; char c = 'a'; System.out.println(d.searchIndexOf(name, c)); } }
|
대략 20줄 내외의 코드가 필요하다. 인덱스를 찾는 메서드만 하더라도 딱 10줄이다. 그런데 indexOf()
를 사용하면 이렇게 길게 작성할 필요가 없어진다.
1 2 3 4 5 6 7
| class devandy { public static void main(String[] args){ String name = "devandy"; char c = 'a'; System.out.println(name.indexOf(c)); } }
|
char형 뿐만 아니라 String 데이터도 찾아준다.
공식문서를 보면, 문자열 데이터에서 parameter로 받은 문자(specified character)가 첫번째로 등장하는 인덱스를 반환하는 함수라는 설명이다.