import java.util.*;
class Main {
public String solution(String str) {
String answer = "";
//split을 이용한 배열생성
int m = Integer.MIN_VALUE , pos;
String[] a = str.split(" ");
for(String x : a){
int len = x.length();
if(len > m){
m = len;
answer = x;
}
}
//indexOf(),substring()을 이용한 탐색
while((pos = str.indexOf(' ')) != -1){
String tmp = str.substring(0,pos);
int len2 = tmp.length(); //현재배열길이
if(len2 > m) {
m = len2;
answer = tmp;
}
str = str.substring(pos+1); //str을 tmp를 잘라냄.
}
if(str.length() > m) {answer = str;}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.nextLine();
System.out.println(T.solution(str));
}
}
.()split 메소드를 사용해 a배열에 각각 값을 담고, for each 구문으로 최댓값을 비교.
if(len>m)
m = len;
answer= x;
--> 즉, 현재 단어의 길이가 전 단어의 길이보다 길다면,
m = 현재 단어의 길이가 되고
answer는 현재 단어를 담는다.
마지막 단어 처리하기!
최댓값 구하는 로직 이해!
int len = x.length();
if(len>m)
m = len;
answer= x;