✔ 처음 생각
import java.util.*;
class Main{
public String solution(String input){
int[] arr_c = new int[input.length()];
String[] arr = input.split("");
int t= 0;
for(int i=0;i<arr.length;i++ ){
if(arr[i]!=null){
t++;
if(i==arr.length-1) arr_c[i]=t;
}
else{
arr_c[i-1]=t;
t=0;
}
}
t=0;
int max = -1;
int num=0;
for(int i=0;i<arr_c.length;i++){
if (arr_c[i]>max){
max=arr_c[i];
num=i;
}
}
int j = num-max+1;
String out ="";
for(int i=j;i<=max;i++){
out=out+arr[i];
}
return out;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
String input = kb.next();
System.out.println(T.solution(input));
}
}
nextLine() 단어가 하닌 한 줄
split함수는 띄어쓰기는 빼고 저장된다.
여기까지만 힌트를 얻고 다시 풀어보자
✔ 힌트 얻고 다시 푼 정답
import java.util.*;
class Main{
public String solution(String input){
String[] arr = input.split(" ");
int max = -1;
int index =0;
for(int i=0;i<arr.length;i++){
if (arr[i].length()>max){
max=arr[i].length();
index=i;
}
}
return arr[index];
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
String input = kb.nextLine();
System.out.println(T.solution(input));
}
}
중요한 것은
String[] arr = input.split(" "); 이건 띄어쓰기를 중심으로 단어 하나하나
String[] arr = input.split(""); 이건 철자 하나하나
✔️ 강의 정답1
import java.util.*;
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 kb = new Scanner(Sytstem.in);
String str = kb.nextLine();
System.out.println(solution(str));
}
✔️ 강의 정답2
import java.util.*;
class Main{
public String solution(String str){
String answer="";
int min= Integer.MIN_VALUE, pos;
while((pos=str.indexOf(' ')!=-1)){
String tmp = str.substring(0,pos);
int len = tmp.length();
if(len>min){
min=len;
answer=tmp;
}
str=str.substring(pos+1);
}
if(str.length()>min) answer=str;
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(Sytstem.in);
String str = kb.nextLine();
System.out.println(solution(str));
}