한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요.
문장속의 각 단어는 공백으로 구분됩니다.
첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어집니다. 문장은 영어 알파벳으로만 구성되어 있습니다.
첫 줄에 가장 긴 단어를 출력한다. 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한
단어를 답으로 합니다.
import java.util.Scanner;
class Main {
public static String solution(String str) {
String answer = "";
String[] strArray = str.split(" ");
int maxlength = strArray[0].length();
for (String s : strArray) {
int length = s.length();
if (length > maxlength) {
maxlength = length;
answer = s;
}
if (maxlength == strArray[0].length()) {
answer = strArray[0];
}
} //end of for
return answer;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
//solution(str);
System.out.println(solution(str));
}
}
입력받은 문장을 공백을 기준으로 잘라서 새로운 strArray 배열에 넣어주었다.
이전의 단어보다 긴 경우 maxlength에 해당 단어의 길이를 넣고 계속 비교해준다.
문장이 한 단어 ex) loveispower 인 경우 해당단어가 제일 긴것이고
제일 긴 단어가 맨 앞에 있을 경우가 있기 때문에 두번째 if문에 조건을 추가해주었다.