[JAVA] 3. 문장 속 가장 긴 단어 찾기

2021. 4. 14. 00:36
728x90

설명

 

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

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

 

예시 입력 1 

it is time to study

 

예시 출력 1

study

 

 

풀이

 

import java.util.Scanner;
  
public class Main {

  public static void main(String[] args){
  
    Scanner in=new Scanner(System.in);
    
   // 문장을 입력받는다.
   String input = in.next();
   // 문장을 빈칸으로 잘라 String배열에 문자를 담는다.
   String[] arr = input.split(" ");
   
   // 문자의 길이를 담는다
   int length = 0;
   // 문자가 있는 인덱스번호를 담는다.
   int index = 0;
   
   for (int i=0; i<arr.length; i++) {
   	
    	// length와 배열담긴 문자의 길이를 비교한다.
    	if(length < arr[i].length()) {
        	
            // 긴 쪽의 문자열길이를 length에 담는다.
        	length = arr[i].length();
            // 인덱스 번호를 담는다.
            index = i;
        }
   }
   // 가장 긴 문자열을 출력
   System.out.println(arr[index]);
  }
}

 

 

다른 풀이

 

import java.util.Scanner;
  
public class Main {

  public static void main(String[] args){
  
    Scanner in=new Scanner(System.in);
    
   // 문장을 입력받는다.
   String input = in.next();
   // 문장을 빈칸으로 잘라 String배열에 문자를 담는다.
   String[] arr = input.split(" ");
   String answer = "";
   
   // 가장 작은 값으로 초기화
   int m = Integer.MIN_VALUE;
   
   for (String x : arr) {
   		// 문자열의 길이 저장
        int len = x.length();
        
        // m보다 크면 m에 문자열길이 저장, answer에 문자열 저장.
        if(len>m){
        	m=len;
            answer=x;
        }
   }
   
   // 가장 긴 문자열을 출력
   System.out.println(answer);
  }
}

 

 

다른 풀이 ( indexOf )

 

 

728x90

'알고리즘 > JAVA' 카테고리의 다른 글

[JAVA] 6. 중복문자 제거  (0) 2021.04.14
[JAVA] 5. 특정 문자 뒤집기  (0) 2021.04.14
[JAVA] 4. 단어 뒤집기  (0) 2021.04.14
[JAVA] 2. 대소문자 변환  (1) 2021.04.14
[JAVA] 1. 단어뒤집기  (0) 2021.04.14

BELATED ARTICLES

more