JAVA4 [JAVA] Collections.sort vs Arrays.sort 차이 자바를 다루다보면 데이터를 오름차순, 또는 내림차순으로 가공해야 하는 경우가 생긴다. 이때에는 직접 정렬시키는 방법도 있겠으나, 보통은 자바 클래스 라이브러리에서 제공하는 메서드를 사용한다. 대표적으로 배열을 정렬해주는 Arrays.sort()와 객체를 정렬해주는 Collections.sort(). 표면적으로 보면 정렬 대상이 배열이면 Arrays을 사용하고, 정렬 대상이 그 외 리스트와 같은 객체이면 Collections을 사용하면 될 것 같지만, 백준 문제풀이와 같이 출제자가 의도적으로 산출 시간에 제한을 걸어둔 경우 두 경우의 시간 복잡도나 공간 복잡도를 고려하여 어떤 방법을 사용할지 선택해야 할 때가 있다. 따라서 이번 기회에 두 정렬 방법에 대한 차이점을 정리해둘까 한다. Arrays 와 Col.. 2023. 6. 5. [JAVA] Array vs ArrayList vs LinkedList 데이터를 저장할 수 있는 자료구조에는 배열(Array), 리스트(List), 맵(Map), Set 등이 있다. 여기서 내가 자주 사용하는 배열과 리스트에 대한 차이점에 대해 간략하게 정리해두겠다. List Array ArrayList LinkedList 선형 vs 비선형 선형 선형 선형 순차 vs 연결 순차 순차 연결 크기 고정 가변 가변 접근 O(1) O(1) O(N) 삭제, 추가 중간 O(N) / 마지막 원소 O(1) 중간 O(N) / 마지막 원소 O(1) 접근하는 시간 O(N) / 삭제 및 추가 O(1) 빈 엘리먼트 허용 O O X 배열 배열의 특징은 다음과 같다. - 메모리상에 선형 순차적으로 저장되고 0 부터 순서에 해당하는 번호가 붙는다. - 한 번 생성된 배열의 길이는 변경할 수 없다. - .. 2023. 6. 5. [JAVA] 변수의 기본형 타입(Primitive type)과 참조형 타입(Reference type) 처음 자바를 공부하게 되면 기본형 타입과 참조형 타입에 대해 배우게 된다. 개념 자체는 그리 어렵지 않지만 막연히 사용하다보면 이따금씩 두 타입의 차이점이 헷갈려서 종종 검색해볼 때가 있는데 개인적으로 열람할 용도로 정리할 필요성을 느꼈다. 기본형 타입(Primitive Type) 논리형(boolean), 문자형(char), 정수형(byte, short, in, long), 실수형(float, double)으로 구성된다. 특징은 아래와 같다. - 기본형 타입은 메모리의 스택(stack)영역에 저장된다. - 저장 공간에 실제 데이터 값을 가진다. - 참조형 타입과 다르게 객체가 아니기 때문에 null 을 가질 수 없다. - 산술 연산이 가능하다. 참조형 타입(Reference Type) 8가지 기본형 타입.. 2023. 5. 28. [JAVA] EOF - 자바에서 테스트 케이스의 개수가 주어지지 않는 경우 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 백준 문제를 풀다보면 가끔 입력으로 주어지는 테스트 케이스 개수를 명시하지 않는 경우가 있다. 위의 문제가 바로 그런 경우인데, 이 경우 EOF를 사용할 수 있다. EOF End Of File의 약자로, 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없다는 것을 의미한다. 위의 경우 테스트 케이스가 한 줄로 이루어져 있을 뿐, 몇 개의 테스트 케이스가 주어질 것인지 명시되어 있지 않다. 이럴 때에는 입력을 받을 때 사용하는 클래스의 메소드 및 특성을 이용한다. 자바에서 입력을 받을 때 사용하는 Scanner와 BufferedReader 두 가지 클래스의 경우로 나누어 .. 2023. 5. 24. 이전 1 다음