[설명]
한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요.
문장속의 각 단어는 공백으로 구분됩니다.
[입력]
첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어집니다. 문장은 영어 알파벳으로만 구성되어 있습니다.
[출력]
첫 줄에 가장 긴 단어를 출력한다. 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한 단어를 답으로 합니다.
[예시]
[문제 풀이]
split()
를 이용하는 방법
import java.util.Scanner;
public class Main {
public String solution(String str) {
String answer = "";
int max = Integer.MIN_VALUE; // 0으로 초기화히여도 무방
int pos;
String[] s = str.split(" "); // split()을 이용한 방법
for (String x : s) {
int len = x.length();
if (len > max) { // 긴 단어가 복수 일시, 앞 단어가 출력되게 하기 위해 >=이 아닌 >
max = len;
answer = x;
}
}
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));
}
}
int
타입 변수 max
를 선언한다.
Integer.MIN_VALUE;
를 사용하였는데, 그럼 int
타입의 제일 작은 값인 2의 -32승이 들어간다.