Algorithm_Java/ETC 4

Java에선 String 비교시 equals 사용

String s = "asdf"처럼 문자열 리터럴을 사용하는 경우 자바 컴파일러는 String Constant Pool이라는 영역에 같은 값의 문자열을 공유. 따라서 리터럴로 String s1 = "a"; String s2 = "a"로 선언할 경우 문자열이 같으므로 주소가 같음. 반면 String s = new String("asdf")는 새로운 객체를 힙 영역에 생성하므로 주소가 아예 다름 == 는 두 연산자의 주소(참조) 값이 같은지 확인. 따라서 내용물이 같더라도 주소가 다르면 같지않다고 표현s1.equals(s2)가 내용물 비교 어레이 사이즈는 array.length로 접근

Algorithm_Java/ETC 2025.09.11

백준 1043 : 거짓말

2차원 배열을 만들 때 List로 만들면 각각 new로 초기화가 필요한 것 인지유니온 파인드 사용wrapper class - 기본 자료형을 객체로 다루기 위해 쓰이는 클래스. 값을 외부에서 변경할 수 없음 왜 쓰는지1. 자바의 컬렉션 클래스들은 객체만 저장 가능 - 기본형에서 wrapper class로 boxing 필요2. 자바의 제네릭 타입을 사용할 때 필요3. null 값 저장 가능4. 유틸리티 메서드 제공import java.io.*;import java.util.*;public class Main { //Integer와 int 차이 public static int N,M;//1[] party = new ArrayList[M];//기억 for(int i=0; i (); ..

Algorithm_Java/ETC 2025.03.28

백준 27433 : 팩토리얼 2

BufferedReader 사용을 위해서import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;필수, 예외처리 (throws IOException)도 필수 왜 Scanner 대신 BufferedReader?-Scanner의 버퍼 크기보다 BufferedReader의 버퍼 크기가 훨씬 커 대량의 입력에 입출력 속도가 빠름(1024 char vs 8192 char)java는 long long 없는 것 기억 - long import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.uti..

Algorithm_Java/ETC 2025.03.26