입력으로 It is time to study 라는 문자열이 들어오면
가장 긴 단어를 출력하는 유형
split()
String[] s = str.split(" ");
매개변수로 기준을 정해준다. 지금은 띄어쓰기를 기준으로 한다.
int m = Integer.MIN_VALUE;
for(String x : s){
int len = x.length();
if(len>m){
m = len;
answer = x;
}
}
m은 최소값으로 설정해두고
for each 문을 이용하여 탐색한다.
for each문을 쓸 수 있는 경우는 부모가 Collection인 경우에 가능하다.
(Set, List, 등등 Map은 아니지만 keySet()같은 함수를 쓴다면 가능)
지금은 String배열이기 때문에 각각 요소를 length함수를 써서 길이를 구하고
m보다 크면 m을 len으로 초기화하고 그때 요소를 answer에 담는다.
indexof()
파라미터로 들어온 문자의 인덱스를 반환한다.(첫 번째로 만난)
못찾은 경우 -1 반환
두번째 파라미터에 시작위치를 지정할 수 있다.
substring()
문자열을 자를때 쓰는 함수이다.
파라미터로
(시작위치)
(시작위치, 끝위치)
정할 수 있다. 끝위치 -1 까지의 값이 반환된다.
'알고리즘 with 자바 > 알고리즘' 카테고리의 다른 글
순열 (0) | 2021.09.15 |
---|---|
멱집합 (0) | 2021.09.13 |
Recursion의 응용 : n queen problem (0) | 2021.09.09 |
Recursion의 응용 : Counting Cells in a Bob (0) | 2021.09.09 |
Recursion의 개념과 기본 예제들 3 (0) | 2021.09.08 |