728x90
반응형
[문제]
한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성
(문장속의 각 단어는 공백으로 구분)
[입력]
첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어지며, 문장은 영어 알파벳으로만 구성
[출력]
첫 줄에 가장 긴 단어를 출력. 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한 단어를 답으로
[입력 예시]
my name is haemo
[출력 예시]
haemo
첫번째 풀이
import java.util.*;
public class Main {
public String solution(String str){
String answer = "";
int min = Integer.MIN_VALUE;
String[] s = str.split(" ");
for(String x : s){
int len = x.length();
if(len>min){
min = len;
answer = x;
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.print(T.solution(str));
return ;
}
}
두번째 풀이
import java.util.*;
public class Main {
public String solution(String str){
String answer = "";
int min = Integer.MIN_VALUE, pos;
while((pos=str.indexOf(' '))!=-1){
String temp = str.substring(0, pos);
int len = temp.length();
if(len>min){
min = len;
answer = temp;
}
str = str.substring(pos+1);
}
if(str.length()>min){
answer = str;
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.print(T.solution(str));
return ;
}
}
728x90
반응형
'IT 공부 > 알고리즘' 카테고리의 다른 글
[JAVA] 특정 문자 뒤집기(toCharArray) (0) | 2024.01.10 |
---|---|
[JAVA] 단어 거꾸로 출력하기(StringBuilder, 값 교환) (4) | 2023.12.20 |
[JAVA] 문자열 대소문자 변환하기 (0) | 2023.12.19 |
[JAVA] 포함된 문자 개수 찾기 (0) | 2023.12.19 |
[C언어] 버블정렬 (2) | 2023.12.06 |
댓글