개발놀이터
1-3. 문장 속 단어찾기 본문
split 메서드를 이용해서 단어단어로 쪼개는 시도 까지는 정답이었으나 최댓값 구하는 알고리즘을 생각해내지 못했음
package string.wordsinsentence13.my;
import java.util.Scanner;
public class Main {
/**
* split 메서드를 이용해서 나누고 list 로 바꾼뒤 진행하려고 했으나 해결하지 못함
*
* 최댓값 구하는 알고리즘을 생각하지 못했음음
* int max = Integer.MIN_VALUE;
* int len = str.length();
*
* if (len > max) {
* len = max;
* }
*/
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
String input = kb.nextLine();
System.out.println(solution(input));
}
private static String solution(String input) {
String answer = "";
int max = Integer.MIN_VALUE;
String[] split = input.split(" ");
for (String s : split) {
int len = s.length();
if (len > max) {
max = len;
answer = s;
}
}
return answer;
}
}
package string.wordsinsentence13.teacher;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
String str = kb.nextLine();
System.out.println(solution(str));
}
private static String solution(String str) {
String answer = "";
int m = Integer.MIN_VALUE, pos;
/*
indexOf 로 공백의 index 값을 가져와 pos 에 저장해두고 substring 으로 자른 후
해당 글자는 없애버리고 그 뒤를 String 으로 가져가는
while ((pos = str.indexOf(" ")) != -1) {
String tmp = str.substring(0, pos);
int len = tmp.length();
if (len > m) {
m = len;
answer = tmp;
}
}
*/
String[] s = str.split(" ");
for (String x : s) {
int len = x.length();
if (len > m) {
m = len;
answer = x;
}
}
return answer;
}
}
'기타 > 코딩테스트' 카테고리의 다른 글
1-6. 중복된 문자 제거 (0) | 2023.02.07 |
---|---|
1-5. 특정 문자 뒤집기 (0) | 2023.02.07 |
1-4. 단어 바꾸기 (0) | 2023.02.07 |
1-2. 대소문자 변환 (0) | 2023.02.07 |
1-1. 문자 찾기 (0) | 2023.02.07 |