문제 풀면서 자꾸 알던것들 까먹는 경우가 정말 많은 것 같다.
일단 스프링을 쓰면서, 완전 필요한 알고리즘과 같은 경우는 없기 때문에
이는 제껴두고 꼭 필요한 개념들을 미리 확 훑고 간다고 생각하면서 공부하자
지금 너무 무리하면 나중에 헤비해짐~
지금까지는 정수의 최댓값, 최솟값을 미리 선언, 즉 초기화 시키고 가는 문제에서
-999 나 999 와 같이 임의로 초기화를 시켰지만 이제는 직접 정해주자.
public class Main {
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE); // 2147483647
System.out.println(Integer.MIN_VALUE); // -2147483648
}
}
문제를 풀다보면 오늘과 같은 문제에서 배열, 특히나 스트링 배열과 같은 경우에 null 값이 임의로 들어가는 경우가 있다.
이때 null 값을 빼주기 위해서 공백으로 전부 초기화를 시켜주고 시작하는 것이 좋다.
특히나 계속해서 값을 더하는 문제에서는 공백으로 초기화를 시켜주자
newWords[i] += words[i].charAt(j);
만약 다음과 같은 부분만 있다고 하면, 다음과 같은 코드는 기존의 값을 가져와서 기존갑셍다가 + 연산을 진행한다.
"" 로 초기화를 하지 않으면 기존의 값이 null 일 것이고, 앞에 null 이 자동으로 붙을 것이다.
여러가지를 찾다보니 문자열 초기화에 관련해서 유용한 사이트를 찾았다.
https://www.techiedelight.com/ko/initialize-array-string-java/
String[] arr = new String[5];
System.out.println(Arrays.toString(arr));
다음과 같은 경우는 모두 null 값으로 초기화가 된다.
모두 공백으로 초기화를 시켜주고 싶다면 다음과 같이 하자
String[] arr = new String[5];
Arrays.setAll(arr, i -> " ");
System.out.println(Arrays.toString(arr))
출처: https://developer-talk.tistory.com/708
public static void main(String args[]) {
String[] strArray = { "10", "20", "30", "40", "50", "60", "70" };
System.out.println("2번째 인덱스의 요소 삭제 전: " + Arrays.toString(strArray));
List<String> strList = new ArrayList<>(Arrays.asList(strArray));
strList.remove(2);
strArray = strList.toArray(new String[0]);
System.out.println("2번째 인덱스의 요소 삭제 후: " + Arrays.toString(strArray));
숫자 리스트관련해서 중요한 자료들 모음 https://zetawiki.com/wiki/%EC%9E%90%EB%B0%94_int_%EB%B0%B0%EC%97%B4%EC%9D%84_String%EC%9C%BC%EB%A1%9C_%EB%B3%80%ED%99%98
import java.util.Arrays;
public class MyClass {
public static void main(String args[]) {
int[] arr = {1,2,3,4};
String str = Arrays.toString(arr).replaceAll("[^0-9]"," ");
System.out.println( str );
}
}
다음과 같은 작업으로 replaceAll 을 통해서 해줘도 상관없고
바로 그냥 foransdmfh 때려박아도 된다.
출처: https://developer-talk.tistory.com/706
만약 2차원 배열일때는 출력하는것이 조금은 곤란할 수 있다. 따라서 이는 Arrays 클래스의 deepToString 메서드를 사용하자.
public static void main(String args[]) {
String[][] strArray = {
{"AA", "AB", "AC"},
{"BA", "BB", "BC"},
{"CA", "CB", "CC"}
};
System.out.println(Arrays.deepToString(strArray));
}
내일은 모의고사가 있다.
뭐 잘보겠지
끝!