728x90
반응형
문제
한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요.
문장속의 각 단어는 공백으로 구분됩니다.
* 입력
첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어집니다. 문장은 영어 알파벳으로만 구성되어 있습니다.
* 출력
첫 줄에 가장 긴 단어를 출력합니다.
가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한 단어를 답으로 합니다.
입력 예시
it is time to study
출력 예시
study
정답 코드 및 해설
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//입력값을 받기 위한 Scanner
Scanner sc = new Scanner(System.in);
String word = sc.nextLine();
//Integer.MIN_VALUE를 입력하면 가장 작은 값이 설정됨
int min = Integer.MIN_VALUE;
//정답을 출력하기 위한 변수 설정
String answer = null;
//split함수를 이용하여 띄어쓰기를 기준으로 단어를 분리
String[] strings = word.split(" ");
//x라는 변수에 분리된 단어들을 한개씩 반복하며 대조
//단어의 길이가 min보다 크면 그 길이를 min에 넣음
//answer에 결국 단어 길이가 가장 긴 단어를 넣음
for (String x : strings){
int length = x.length();
if (length > min){
min = length;
answer = x;
}
}
System.out.println(answer);
}
}
게시글이 도움이 되었다면
[로그인]이 필요 없는 ❤ 눌러주세요:)
반응형
'Java 알고리즘' 카테고리의 다른 글
[Java/알고리즘] 07 회문 문자열 정답 및 해설 (0) | 2023.01.15 |
---|---|
[Java/알고리즘] 06 중복문자제거 정답 및 해설 (0) | 2023.01.14 |
[Java | 알고리즘] 특정 문자 뒤집기 / lt, rt 이용해서 풀이 (1) | 2023.01.13 |
[Java|알고리즘] 단어 뒤집기 문제 및 해설 (0) | 2023.01.12 |
[백준/Java] 2744번 대소문자 바꾸기 정답 | 코드 공개 및 해설 (0) | 2023.01.02 |