Loading...

자바 자료구조5 -우선순위 큐 사용법-

1. 우선순위 큐 큐가 먼저 들어오는 데이터가 먼저 나가는 선입선출 형식의 자료구조라면, 우선순위 큐는 항상 우선순위가 가장 높은 데이터에만 관심이 있고 이 데이터만 먼저 나갈 수 있는 형태의 자료구조 힙을 이용할때 삽입, 삭제, 탐색시간을 O(logN)으로 맞출 수 있어서 힙으로 보통 구현한다. 자바에서는 PriorityQueue라는 클래스를 사용할 수 있다. import java.util.PriorityQueue; PriorityQueue (name) = new PriorityQueue(); 형태의 선언 필요 자바는 기본적으로 최솟값을 우선적으로 뽑아준다. 2. 핵심 메소드 2-1) add(E) 우선순위 큐에 데이터 E를 추가 2-2) size() 우선순위 큐에 들어있는 데이터 수를 반환 2-3) i..

자바 자료구조4 -HashMap과 HashSet-

1. HashMap 해싱을 기반으로 데이터들을 관리해주는 자료구조 파이썬에서 dict와 대응된다 HashMap은 (key,value) 쌍 형태로 들어가 있어서, key와 그 key에 따른 value값을 동시에 저장하는 형태 따라서 HashMap의 삽입, 삭제, 탐색 등 모든 함수의 시간복잡도는 O(1)이다. HashMap은 TreeMap보다 속도가 빠르며, 값 자체에만 관심이 있지, 그 순서에는 관심이 없는 자료구조 HashMap 사용을 위해서 import java.util.HashMap; HashMap (name) = new HashMap(); 형태의 선언이 필요하다. K,V는 key와 value에 해당하는 타입이다. import java.util.HashMap; public class Main { p..

자바 자료구조3 -자바에서 스택, 큐, 덱 사용법-

1. Stack import java.util.Stack Stack (name) = new Stack(); 여기서 (type)은 reference type으로 스택 안에 들어갈 원소의 타입 import java.util.Stack; public class Main { public static void main(String[] args){ Stack s = new Stack(); } } 2. stack 핵심 메소드 2-1) push(E) 맨 위에 데이터 E를 추가 2-2) size() stack에 들어있는 데이터 수를 반환 2-3) isEmpty() stack이 비어있다면 true, 아니라면 false를 반환 2-4) peek() stack의 가장 위에 있는 데이터를 반환 2-5) pop() stack의 ..

자바 초보부터 B형까지9 -class 생성하기 필수-

1. class 두 학생의 국어 영어 수학 점수가 (90,80,80), (80,70,60)이라고 한다면, 이를 코드로 표현한다면 어떻게 해야할까? 가장 쉬운 방법은 6개의 변수를 만드는 것이다. int kor1 = 90, eng1 = 80, math1 = 90; int kor2 = 80, eng2 = 70, math2 = 60; 하지만 학생 수가 많아질수록 변수의 수는 그만큼 증가하니 상당히 귀찮은 작업이 된다. 이런 경우 하나의 학생을 지칭하는 새로운 형태를 정의하며, 그 형태를 이루기 위한 (국어, 영어, 수학) 점수 세트를 정의할 수 있을 것이다. 이를 class라고 부르고 자바에서 class는 다음과 같이 정의할 수 있다. class Student { int kor, eng, math; publi..

2023. 3. 1. 17:02

자바 초보부터 B형까지8 -2차원 배열 필수-

1. 2차원 배열 선언 정수형 2차원 배열은 new int[행 개수][열 개수];로 선언 가능하다 int[][] arr2d = new int[4][4]; 2차원 격자상 좌표가 (x,y)라고 한다면.. y행 x열에 대한 원소 접근은 arr2d[y][x];와 같이 접근할 수 있다. /* i/j 0 1 2 3 0 1 2 3 4 1 7 8 9 10 2 11 12 13 14 3 15 16 17 18 */ public class Main { public static void main(String[] args) { int[][] arr2d = new int[][]{ {1, 2, 3, 4}, {7, 8, 9, 10}, {11, 12, 13, 14}, {15, 16, 17, 18} }; System.out.println..

자바 초보부터 B형까지7 -변수의 범위, 지역변수, 전역변수 설정방법-

1. 자바에서 전역변수 선언 class내에서 맨 위에 public static이라고 선언한 변수는 global 변수가 된다. 그래서 해당 class내의 모든 함수,class내에서 해당 global 변수를 참조할 수 있게 된다 public class Main { //arr은 모든 함수에서 참조할 수 있게 된다 public static int[] arr = new int[]{1, 2, 3, 4}; public static int sumAll() { int sum = 0; for(int i = 0; i < 4; i++) sum += arr[i]; return sum; } public static void main(String[] args) { int totalSum = sumAll(); System.out.p..