728x90
반응형
# String과 StringBuilder
indexOf() 메서드와 substring() 메서드
while((pos=str.indexOf(' '))!=-1) {
String tmp = str.substring(0, pos);
int len=tmp.length();
if(len>=m) {
m=len;
answer=tmp;
}
str=str.substring(pos+1);
1. tmp에 ' '전까지 잘라서 넣는다.
2. str에 자른 부분 나머지 부분을 넣는다.
3. 길이가 m보다 큰 부분을 정답으로 한다.
import java.util.Scanner;
public class Main {
public String solution(String str) {
String answer=" ";
int m=Integer.MIN_VALUE, pos;
while((pos=str.indexOf(' '))!=-1) {
String tmp = str.substring(0, pos);
int len=tmp.length();
if(len>=m) {
m=len;
answer=tmp;
}
str=str.substring(pos+1);
}
if(str.length()>m) answer=str;
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.nextLine();
System.out.println(T.solution(str));
}
}
//StringBuilder 메서드
//insert 특정위치에 문자열을 추가 insert(위치, "문자열")
//setCharAt 문자는 ''사용 -> setCharAt(위치, '문자')
//replace 시작점부터 끝점 앞까지 -> replace(시작위치, 끝나는위치, "문자열")
//결과를 저장 -> String result = sb.toString();
//String[] localName = parts[0].split("\\+");
//특수문자의 경우 \\을 붙여야 문자열로 인식가능
# String 변수도, concat(), charAt(), contains(), indexOf(), lastindexOf() 등등 사용가능
-> 한꺼번에 대문자로 소문자로 변경가능 toUpperCase(), toLowerCase();
# k=4라면, 전체 길이인 len에서, 뒤에서부터 4번째마다 '-'추가
for(int i=k; i<len;i+=k) {
sb.insert(len-i, "-");
}
#배열에서 바로 정렬
Arrays.sort(str,new Comparator<String>(){
public int compare(String o1, String o2){
return Integer.compare(o1.length(), o2.length());
}
});
#Map의 메서드
containsKey(Key값) -> boolean
#정렬시 정규 표현식
int[][] boxTypes;
Arrays.sort(boxTypes, (a,b)-> b[1]-a[1]);
//내림차순
# compare / compareTo
public class Car {
int modelNo;
int modelYear;
public int getModelNo() {
return modelNo;
}
public void setModelNo(int modelNo) {
this.modelNo = modelNo;
}
public int getModelYear() {
return modelYear;
}
public void setModelYear(int modelYear) {
this.modelYear = modelYear;
}
}
모델 번호에 따른 비교기 # 1
public class CarModelNoCompartor implements Comparator<Car>{
public int compare(Car o1, Car o2) {
return o1.getModelNo() - o2.getModelNo();
}
}
모델 연도 기준 비교기 # 2
public class CarModelYearComparator implements Comparator<Car> {
public int compare(Car o1, Car o2) {
return o1.getModelYear() - o2.getModelYear();
}
}
Collections.sort(list ,new Comparator<String>(){
public int compare(String o1, String o2){
return o1.compareTo( o2);
}
});
#ArrayList로 초기화
ArrayList<Integer> p = new ArrayList<>(Arrays.asList(2,3,4,5,6,1));
int[] arr = {2, 5, 3, 1, 4};
ArrayList<Integer> p = new ArrayList<>();
for(int i:arr) p.add(i);
728x90
반응형
'Java > Java 알고리즘' 카테고리의 다른 글
[알고리즘] 3-1-2. 조합 예제 (2) 080 ~ 083 (0) | 2022.06.30 |
---|---|
[알고리즘] 3-1-1. 조합 예제 (1) 076 ~ 079 (0) | 2022.06.30 |
[알고리즘] 3-1. 조합 : dim[i][j] = dim[i-1][j] + dim[i-1][j-1] (0) | 2022.06.30 |
[알고리즘] 2-4. 슬라이딩 윈도우 # [+deque 데크 자료구조] (0) | 2022.06.30 |
[알고리즘] 02-3. 투 포인터 (0) | 2022.06.30 |