java 기본 문법 정리7 [Java] 기본 문법 정리 - 추가 ✅ 19. 트리 (Tree, Binary Tree, Binary Search Tree)트리는 계층 구조를 가지는 자료구조로, 탐색과 정렬에 자주 사용됨.대표적인 트리 구조는 이진 트리(Binary Tree), 이진 탐색 트리(BST).📍 1) 이진 트리 (Binary Tree)각 노드가 최대 2개의 자식을 가짐 (왼쪽, 오른쪽)DFS, BFS 탐색에 사용됨이진 트리 기본 클래스class Node { int data; Node left, right; public Node(int data) { this.data = data; this.left = this.right = null; }}public class BinaryTreeExample { public .. 2025. 3. 19. [Java] 기본 문법 정리 - 비트 연산, 수학 라이브러리, 시간 복잡도 개념 ✅ 14. 비트 연산 (Bitwise Operations)비트 연산은 정수형 데이터의 이진수 표현을 직접 조작하는 연산.빠른 연산이 필요하거나 특정 패턴을 체크할 때 유용.📍 1) 비트 연산자 정리연산자 설명 예제 (a=5, b=3)&비트 AND5 & 3 = 1 (0101 & 0011 = 0001)|비트 OR5 | 3 = 6 (0101 | 0011 = 0111)^비트 XOR5 ^ 3 = 6 (0101 ^ 0011 = 0110)~비트 NOT~5 = -6 (보수 연산)왼쪽 시프트 (2배 연산)5 >>오른쪽 시프트 (1/2 연산)5 >> 1 = 2 (0101 → 0010)📍 2) 비트 연산 예제public class BitwiseExample { public static void main(String.. 2025. 3. 19. [Java] 기본 문법 정리 - 이진 탐색, DFS & BFS, 동적 프로그래밍(DP) ✅ 11. 이진 탐색 (Binary Search)이진 탐색은 정렬된 배열에서 특정 값을 빠르게 찾는 알고리즘으로, 시간 복잡도는 O(log N).자바에서는 Arrays.binarySearch() 또는 직접 구현할 수 있음.📍 1) Arrays.binarySearch() 활용배열이 정렬되어 있어야 사용 가능값이 존재하면 인덱스 반환, 없으면 음수 반환import java.util.Arrays;public class BinarySearchExample { public static void main(String[] args) { int[] arr = {1, 3, 5, 7, 9}; // 반드시 정렬된 상태여야 함! int index = Arrays.binarySea.. 2025. 3. 19. [Java] 기본 문법 정리 - 정렬, 스택 & 큐, 우선순위 큐, 해시맵, 해시셋 ✅ 8. 정렬 (Arrays.sort(), Collections.sort(), Comparator)정렬은 코딩테스트에서 탐색, 최적화, 조합 문제에서 매우 자주 등장하는 개념.자바에서는 기본적으로 Arrays.sort()(배열 정렬), Collections.sort()(리스트 정렬)과 같은 메서드를 제공함.📍 1) 기본 정렬 (Arrays.sort())Arrays.sort(배열)을 사용하면 오름차순(ASC) 정렬됨.내부적으로 Dual-Pivot QuickSort 알고리즘 사용 (평균 O(N logN))배열 정렬 예제import java.util.Arrays;public class SortingExample { public static void main(String[] args) { i.. 2025. 3. 19. [Java] 기본 문법 정리 - 문자열, 컬렉션(List, Set, Map) ✅ 6. 문자열 다루기 (String, StringBuilder)자바에서 문자열을 다루는 방법은 크게 String(불변 객체)과 StringBuilder(가변 객체) 두 가지.📍 1) String 클래스 (불변, Immutable)String 객체는 한 번 생성되면 변경 불가능(Immutable)문자열을 다룰 때 새로운 객체를 계속 생성하므로 성능이 중요할 때는 StringBuilder 사용 추천문자열 비교 시 == 대신 equals() 메서드 사용!1. 문자열 선언과 초기화String str1 = "Hello"; // 리터럴 방식String str2 = new String("Hello"); // 객체 생성 방식📌 리터럴 방식은 메모리 효율적 (같은 문자열은 재사용)2. 문자열 연결 (+, conca.. 2025. 3. 19. [Java] 기본 문법 정리 - 반복문, 배열과 리스트 ✅ 4. 반복문 (for, while, do-while)반복문은 주어진 조건을 만족할 때까지 코드 블록을 실행하는 구조.코딩테스트에서는 반복문을 활용해 배열 탐색, 조건 검토 등을 함.📍 1) for문 (반복 횟수가 정해져 있을 때)기본 구조for (초기값; 조건식; 증감식) { // 반복 실행할 코드}예제: 1부터 5까지 출력public class ForLoopExample { public static void main(String[] args) { for (int i = 1; i 📌 실행 결과:1 2 3 4 5 ➡ 초기값 i = 1 → 조건 i ➡ 조건이 false가 될 때까지 반복📍 2) while문 (반복 횟수가 정해지지 않았을 때)조건이 참(true)인 동안.. 2025. 3. 19. 이전 1 2 다음