개발로그/JAVA
JAVA - indexOf() / lastIndexOf(특정 문자 위치 찾기)
개발김쿙
2023. 11. 9. 12:56
indexOf()
- indexOf(String str)
- indexOf(int ch)
- indexOf(int ch, int fromIndex)
- indexOf(String str, int fromIndex)
indexOf() 는 특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스를 반환하며
만약 찾지 못했을 경우 "-1"을 반환합니다.
.indexOf( "찾을 특정 문자" , "시작할 위치" ) 이런식으로 사용해 주면된다.
"시작할 위치" 같은경우는 생략이 가능하며 생략할 경우 0번째 즉 처음부터 찾기 시작한다.
lastIndexOf()
- lastIndexOf(String str)
- lastIndexOf(int ch)
- lastIndexOf(int ch, int fromIndex)
- lastIndexOf(String str, int fromIndex)
lastindexOf() 는 특정 문자나 문자열이 뒤에서부터 처음 발견되는 인덱스를 반환하며
만약 찾지 못했을 경우 "-1"을 반환합니다.
왼쪽에서 몇번째 위치하는지를 인덱스로 반환한다.
사용법은 indexOf 와 동일하다
public int[] solution(String str) {
int[] result = new int[str.length()];
for(int i=0;i<str.length();i++){
String subStr = str.substring(0,i);
if(subStr.indexOf(str.charAt(i))==-1) { // str에서 원하는 문자를 못 찾을 시 -1
result[i] = -1;
}else {
result[i] = i-subStr.lastIndexOf(str.charAt(i));
}
}
return result;
}
참고 : https://mine-it-record.tistory.com/124 [나만의 기록들:티스토리]