-
3. 문장 속 단어
설명
한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요.
문장속의 각 단어는 공백으로 구분됩니다.
입력
첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어집니다. 문장은 영어 알파벳으로만 구성되어 있습니다.
출력
첫 줄에 가장 긴 단어를 출력한다. 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한
단어를 답으로 합니다.
예시 입력 1
it is time to study
예시 출력 1
study
문제 풀이
package org.example.infrenJavaCodingTest; import java.util.Scanner; public class chap2_3 { // 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 String solution(String str) { String answer = ""; int m = Integer.MIN_VALUE; // split 함수 ? String[] s = str.split(" "); // for-each 문법 // 무엇? 언제? 장점? 단점? 대체? 문법? for(String x : s){ int len = x.length(); // 최대값 갱신 알고리즘 if(len > m){ m = len; // 최대 길이 저장 answer = x; // 최대 길이의 단어 저장 } } return answer; } public static void main(String[] args) { chap2_3 T = new chap2_3(); Scanner kb = new Scanner(System.in); // 한줄을 받아야 하므로, Line으로 받는다 String str = kb.nextLine(); System.out.println(T.solution(str)); } }
학습내용