반응형
문제
설명
한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요.
문장속의 각 단어는 공백으로 구분됩니다.
입력
첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어집니다. 문장은 영어 알파벳으로만 구성되어 있습니다.
출력
첫 줄에 가장 긴 단어를 출력한다. 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한
단어를 답으로 합니다.
예시 입력 1
It is study time
예시 출력 1
study
풀이
import java.util.Scanner;
public class JAVA1 {
public static String solution(String s){
String[] answer = s.split(" ");
int n = 0;
int maxlen = answer[0].length();
for(int i=1;i<answer.length;i++){
if(answer[i].length() > maxlen){
maxlen = answer[i].length();
n = i;
}
}
return answer[n];
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
System.out.println(solution(s));
}
}
먼저 입력받은 String을 split을 통해 빈칸으로 나눴다.
그 후 String 배열에서 index 0번째 값을 기준으로 삼은 후!!
여기가 나름 포인트인데 for문의 i를 1부터 시작해주는 것이다..
그다음 if문의 answer[i]. legnth() > maxlen 조건식을 통해
길이가 더 길면 maxlen을 그 문자의 길이로 교체, 그 문자의 index값을 나타내는 n값도 교체해 최종적으로 answer[n]을 리턴했다.
반응형
'알고리즘 문제풀이' 카테고리의 다른 글
| [SWEA]1926. 간단한 369게임 (0) | 2025.04.28 |
|---|---|
| [SWEA]21425. += (0) | 2025.04.28 |
| 04. 단어 뒤집기 (0) | 2025.04.25 |
| 02. 대소문자 변환 (0) | 2025.04.24 |
| 01. 문자 찾기 (0) | 2025.04.24 |