JAVA(6)
-
LinkedList, Stack, Queue, Deque, PriorityQueue 사용법 정리
LinkedList 노드를 연결해 리스트처럼 사용하는 컬랙션데이터의 삽입, 삭제에 빠른 성능을 보이지만 특정 요소에 접근하는 성능은 ArrayList에 비해 떨어진다. 뒤에서 사용할 stack, queue, dequeue, priorityQueue의 근간이 되는 컬랙션이다. import java.util.*;import java.lang.*;import java.io.*;class Main { public static void main(String[] args) { LinkedList link_list = new LinkedList(); link_list.add(1); // 값 넣기 link_list.add(2); link_list.add(3); ..
2024.07.04 -
[JAVA] 배열, ArrayList 내림차순, 오름차순 정렬
배열 오름차순 public class JavaPractice { public static void main(String[] args) { int[] intList = {1, 2, 5, 3, 7, 9}; String[] StringList = {"A", "C", "B"}; Arrays.sort(intList); Arrays.sort(StringList); for (int num : intList) { System.out.println("num = " + num); } for (String s : StringList) { System.out.println("s = " + s); } } } 1, 2, 3, 5, 7, 9, A, B, C, 배열 내림차순 특이사항으로 Int 배열 경우 같은 기본형 타입은 바로 r..
2023.12.10 -
[JAVA] HashMap, HashSet, TreeMap, TreeSet 사용 방법
Hash HashMap 이란 HashMap은 Map 인터페이스의 구현체중 하나이다. 특징으로는 Key, Value 형태로 값을 저장한다. Key 값은 고유 값으로 저장된다는 특징을 가지고 있다. Key, Value 한 세트씩 하나의 노드 형태로 저장되는데 이를 통해 Key 값을 이용해 빠르게 Value 값을 찾을 수 있다 HashMap 사용법 import java.util.*;import java.lang.*;import java.io.*;class Main { public static void main(String[] args) { HashMap hashmap = new HashMap(); HashMap> hashmapList = new HashMap(); h..
2023.12.02 -
[JAVA] 특정 문자열 제거하기, 연속된 문자열
특정 문자열 자르기 정규 표현식 [^a-zA-Z0-9-_.]은 특정 문자 세트가 아닌 모든 문자를 매칭하는 것입니다. 이 문자 클래스를 세분화해보자 ^: 문자 클래스 내에서 사용되면 해당 클래스를 부정(제외)합니다. 즉, 나열된 문자들을 제외한 모든 문자와 매치됩니다. a-zA-Z0-9: 알파벳 대소문자와 숫자에 해당하는 모든 문자를 매치합니다. -: 이 부분은 그 자체로 문자 -를 매치합니다. _.: 이 두 문자는 각각 _ (언더스코어)와. (마침표)를 매치합니다. 따라서 [^a-zA-Z0-9-_.]는 알파벳 대소문자, 숫자, 언더스코어, 마침표, 그리고 하이픈을 제외한 모든 문자를 매치합니다. 만약 다른 문자를 포함하거나 제외하려면 문자 클래스에 해당 문자를 추가하거나 제거하면 됩니다. 특정 문자 추..
2023.11.12 -
[JAVA] Array, List, ArrayList 개념 정리
알고리즘 문제를 풀다 보면 중간중간 사용방법을 까먹고 다시 찾아보게 된다. 파이썬으로 할때와는 다르게 배열과 리스트의 구분이 명확히 되어있고 사용법 또한 다르다. (배열이라는 개념이 없음) 배열 (Array) 배열은 고정된 크기의 데이터 구조이다. 한번 생성 후 크기 변경이 불가능하다. 배열은 기본 데이터 유형 또는 객체를 저장해서 사용할 수 있고 해당 배열에는 동일한 유형의 요소들이 들어가야 한다. 배열의 요소에 직접 액세스 할 수 있으며 인덱스를 이용해 특정 요소에 접근 가능하다. 배열의 크기를 변경하려면 새로운 배열을 생성해 데이터를 복사해 할당해야 한다. // 배열을 선언하고 크기를 지정 int[] myArray = new int[5]; // 크기가 5인 정수형 배열을 생성 // 배열에 값 할당 ..
2023.10.23 -
[JAVA] 약수 구하기
알고리즘 문제에서 약수를 효율적으로 구하는 방법을 찾아보다 정리하기 위해 글 작성 약수 약수는 특정 숫자를 나누어 나머지가 없도록 만드는 것을 말한다 5를 1, 5로 나누면 나누어 떨어진다 10을 1, 2, 5, 10로 나누면 나누어 떨어지며 해당 값들을 약수라고 한다 JAVA에서 약수를 구하는 방법 일반적인 알고리즘int num = 10;for (int i=1; i해당 방식의 경우 반복문을 통해서 해당 값을 나누어서 일일이 값을 다 찾아서 출력한다. 해당 방법의 경우 num 값이 커질때 마다 계산해야되는 범위가 커지며 런타임 시간이 길어지게 될 것이다. Math의 sqrt() 메소드sqrt 메소드는 값의 제곱근을 구한다. 해당 범위 만큼만 탐색하게 되므로 위에서 설명한 일반적인 알고리즘의 반복문에 비..
2023.10.23