-
JAVA문법 IndexOf(),Substring()개발언어/JAVA 2022. 1. 14. 19:15
Integer.MIN_VALUE;
가장 작은 값으로 초기화된다.
-> -2³¹(-2,147,483,648))
IndexOf( );
IndexOf("찾을 특정 문자","시작할 위치(생략가능)")
특정 문자 나 문자열 앞에서 처음발견되는 인덱스를 반환 하며, 만약찾지 못했을 경우 -1를 반환한다.
while((pos = str.indexOf(" ")) != -1) { }
띄어 쓰기가 없으면 -1이 반환 되면서 종료된다.
Substring( );
String str ="it is time to study"
str.subString("시작지점")//문자열 "시작지점"위치 부터 끝까지 문자열 자른다.
str.substring("시작지점","끝날지점")
//문자열 "시작지점" 부터 "끝날지점"까지 문자열 발췌
String tmp=str.substring(0,pos);
//문자열 시작지점 부터 문자열의 처음 띄어쓰기 부분까지 발췌한다.
pos = str.indexOf(" ") =>pos가 가르키는 곳은 띄어 쓰기 공간
그래서 tmp = "it" 가된다.
str = str.substring(pos+1);
띄어쓰기가 시작하는 3의 앞부분 부터 짤랐으므로 +1 해준다.
public String solution(String str) {
String answer="";
int m =Integer.MIN_VALUE,pos; // int pos; 와 같다 pos를 정의해 주는 것
while((pos = str.indexOf(" ")) != -1) {
String tmp=str.substring(0,pos);
int len = tmp.length();
if(len>m) {
m = len;
answer = tmp;
}
str = str.substring(pos+1);
}
if(str.length()>m) answer= str;
return answer;
}문자열의 길이가 현재 보다 커야 m와 answer 이 바뀌므로 제일긴 단어가 2개 있을시 앞에 위치한 단어가 우선한다.
if(len>=m)으로 변경하면 제일긴 단어가 2개일시 뒤에있는 단어가 우선된다.
'개발언어 > JAVA' 카테고리의 다른 글
Java - Object4 (1) 2023.10.17 Java - Object3 (1) 2023.10.16 Java - Object 1 (0) 2023.10.16 Java - 메서드 호출 시 파라미터를 전달하는 방법(Call By Value, Call By Reference) (0) 2023.10.10 char타입 다루기 (0) 2022.01.13