[String] 문장 속 단어(indexOf(), substring())

0_0ni·2023년 2월 2일

문장 속 단어

한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요.
문장 속의 각 단어는 공백으로 구분됩니다.


제한사항

  • 첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어집니다. 문장은 영어 알파벳으로만 구성되어 있습니다.
  • 첫 줄에 가장 긴 단어를 출력합니다. 가장 길이가 긴 단어가 여러 개일 경우, 가장 앞쪽에 위치한 단어를 출력합니다.

입출력 예

입력

it is time to study

출력

study


구현

// (1)
import java.util.Scanner;

public class Main {

   public String solution(String str) {
       String answer = "";
       int max = Integer.MIN_VALUE;
       
       String[] s = str.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.next();
     System.out.println(T.solution("it is time to study"));
   }
}

------------------------------------------------------------

// (2) IndexOf(), substring() 사용
public class Main {

   public String solution(String str) {
       String answer = "";
       int max = Integer.MIN_VALUE;
       int pos; 
       
       while ((pos = str.indexOF('')) != -1) {
       	String temp = str.substring(0, pos);
           int len = temp.length();
           if (len > max) {
            	max = len;
                answer = temp;
           }
           str = str.substring(pos+1);
       }
       
       if(str.length() > max) answer = str;

		return answer;
   }

0개의 댓글