Java 알고리즘

[Java] 3. 문장 속 단어 | 자바 알고리즘

엘라 ELLA 2023. 1. 3. 22:22
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);
    }
}

 

 


 

 

게시글이 도움이 되었다면

[로그인]이 필요 없는 ❤ 눌러주세요:)

반응형