Java18 ArrayList와 LinkedList List 인터페이스 : 순서가 있는 집합, 데이터의 중복을 허용하는 컬렉션을 구현하는 데 사용된다. List인터페이스를 구현한 클래스 중에 가장 많이 사용되는 클래스는 ArrayList와 LinkedList가 있다. 1️⃣ ArrayList Vector와 구현원리나 기능적인 측면에서 동일하다.(Vector클래스는 소스와의 호환성을 위해서 남겨둔 것이므로 사용하지 말자) List인터페이스를 구현한다 ArrayList는 말 그대로 배열의 원리를 이용한 컬렉션 클래스다.(배열의 사이즈는 ArrayList에서 알아서 조절한다) ArrayList가 허용하는 범위(capacity)를 넘어가는 경우 경우 기존배열의 사이즈에 *2 사이즈의 배열을 만들고 거기에 요소를 복사하여 배열을 만들어 사용한다. 배열에 요소를 삭.. JAVA 2023. 2. 24. 오버로딩과 오버라이딩 오버로딩(OverLoading) 같은 이름의 함수(메서드)를 여러 개 생성하는 것이다 기존에 없는 새로운 메서드를 정의하는 것이다 리턴(반환) 타입이 달라도 상관이 없다 메서드의 이름이 같을 때 메서드의 파라미터의 개수나 타입이 달라야 한다 하단 코드를 실행하면 오른쪽과 같은 결과가 나옴을 확인할 수 있다. l은 long형의 리터럴 표기를 위해서 사용했다. import java.io.IOException; import java.util.List; public class Main { public static void main(String[] args) throws IOException { System.out.println(sum(List.of(1,2))); System.out.println(sum(1, 2.. JAVA 2023. 2. 22. [백준 java] 2225번 합분해 DP https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net [문제 풀이] arr[a][b] -> a개의 숫자를 이용해서 b를 만들수 있는 경우의 수 1개의 숫자를 이용해서 b를 만들수 있는 경우는 무조건 1개 임으로 1로 초기화 한다. arr[a][b]=arr[a-1][b]+arr[a][b-1] arr[3][2] = 002,020,200,110,101,011 (6) arr[4][1] = 0001,0010,0100,1000 (4) arr[4][2] = 0002,0020,0200, 0110,0101,0011,1001,1010,1100, 2000 (10) arr[3][2]의 앞에 0을 .. 알고리즘 2022. 10. 23. JAVA 자료형 범위 논리형 - boolean boolean true, false 1byte ( 8bit ) 문자형 - char char 0 ~ 65535 2byte ( 16bit ) 정수형 - byte, short, int, long byte -128 ~ 127 1byte ( 8bit ) short -32768 ~ 32767 2byte ( 16bit ) int -2_147_483_648 ~ 2147483647 4byte ( 32bit ) long -9_223_372_036_854_775_808 ~ 9223372036854775807 8byte ( 64bit ) - jvm의 경우 피연산자를 4byte 단위로 저장하기 때문에 byte나 short 를 계산하는 경우에는 int로 변형되어 계산되므로 int 를 사용하는게 더 효율적.. JAVA 2022. 10. 3. [백준]14503_로봇청소기 [문제 링크] boj 14503 로봇청소기 구현 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net [생각 흐름] 처음에는 문제의 조건대로 각 케이스별로 하려 하였으나 케이스를 묶을 수 있어서 묶어서 풀이하였다. 문제의 조건 2번의 말은 결국 현재 위치에서 왼쪽으로 돌면서 청소가 안되어있으면 가고 청소가 되어 있거나 벽이면 또다시 왼쪽으로 돌아서 확인한다는 것이다. 따라서 처음 시작 dir에서 왼쪽으로 돌아가며 벽이 아닌데 청소가 안되어 있는 경.. 알고리즘 2022. 9. 26. [백준]9465_스티커_dp [문제 링크] https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net [생각 흐름] dp 방법으로 해결하였다 선택할 수 있는 방법이 (1번 줄, 2번 줄) OX, XO, XX 세 가지를 가질 수 있으므로 (O는 스티커가 있다, X는 스티커가 없는 경우) 각 경우에 맞춰서 초기값을 계산하였다. 그리고 아래의 코드와 같이 ox-> xx , ox->xo, xx-> ox, xx->xo, xx->xx , xo->ox , xo->xx로 7가지의 경우로.. 알고리즘 2022. 9. 25. 이전 1 2 다음