1-3 문장 속 단어 (Java)

정우·2022년 9월 23일

✏️ 문제


설명

한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요.

문장속의 각 단어는 공백으로 구분됩니다.

입력

첫 줄에 길이가 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문에 조건을 추가해주었다.

profile
That's it

0개의 댓글