Q. 한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력
1. 첫번째 방법(spilt 이용)
public String solution(String str){
String answer = "";
int m = Integer.MIN_VALUE;
String[] s = str.split(" ");
for(String x : s) {
//System.out.println(x);
int len = x.length();
if(len > m)
//만약 len이 integer의 최소값(=x)보다 크면 len에 최소값 대입
m = len;
answer=x;
}
return answer;
}
public static void main(String[] args) {
CodingTest_String_03 T = new CodingTest_String_03();
Scanner sc = new Scanner(System.in);
String srt = sc.nextLine();
System.out.print(T.solution(srt));
}
2. 두번 째 방법(IndexOf() 활용)
package codingTest;
import java.util.*;
public class CodingTest_String_03 {
public String solution(String str){
String answer = "";
int m = Integer.MIN_VALUE, pos;
while ((pos=str.indexOf(' '))!= -1) {
String temp = str.substring(0, pos);
int len = temp.length();
if(len>m) {
m = len;
answer = temp;
}
//substring 하나면 포지션 위치부터 뒤로 쭉
str = str.substring(pos+1);
}
//띄어쓰기가 없는 마지막 단어일 경우 처리
if(str.length() > m) answer = str;
return answer;
}
public static void main(String[] args) {
CodingTest_String_03 T = new CodingTest_String_03();
Scanner sc = new Scanner(System.in);
String srt = sc.nextLine();
System.out.print(T.solution(srt));
}
}
'PROGRAMMING > Algorithm' 카테고리의 다른 글
[Java 알고리즘] 특정 단어 뒤집기 (0) | 2021.08.09 |
---|---|
[Java 알고리즘] 단어 뒤집기 (0) | 2021.08.09 |
[Java 알고리즘] 대소문자 변환 (0) | 2021.08.09 |
[Java 알고리즘] 문자 찾기 (0) | 2021.08.09 |