
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;