ALGORITHM

[JAVA] 알고리즘 : 문자열 - 문장 속 단어

연듀 2022. 6. 20. 11:45

 

split 이용

import java.io.*;
import java.util.*;

public class Main {
    public String solution(String str){
        String answer = "";
        int m = Integer.MIN_VALUE;
        String[] s = str.split(" ");
        for(String x : s){
            int len = x.length();
            if(len > m){
                m = len;
                answer = x;
            }
        }


        return answer;
    }
    public static void main(String[] args) throws IOException {
        Main T = new Main();
        Scanner kb = new Scanner(System.in);
        String str = kb.nextLine(); // 한 줄 입력 받기기
       System.out.print(T.solution(str));
    }

}

 

 

indexOf, substring 이용 

import java.io.*;
import java.util.*;

public class Main {
    public String solution(String str){
        String answer = "";
        int m = Integer.MIN_VALUE, pos;
        while((pos = str.indexOf(' ')) != -1){ // 띄어쓰기를 발견 못하면 -1 리턴, 발견하면 인덱스 번호 리턴
            String tmp = str.substring(0, pos); // 띄어쓰기 전까지의 string
            int len = tmp.length();
            if(len>m){
                m = len;
                answer = tmp;
            }
            str=str.substring(pos+1); // 그 다음 문자열부터 끝까지
        }

        if(str.length()>m) answer=str; // 마지막 단어 처리
        return answer;
    }
    public static void main(String[] args) throws IOException {
        Main T = new Main();
        Scanner kb = new Scanner(System.in);
        String str = kb.nextLine(); // 한 줄 입력 받기기
       System.out.print(T.solution(str));
    }

}