[java] 퀵 정렬(Quick Sort)
자료구조 & 알고리즘/알고리즘2025. 3. 25. 13:09[java] 퀵 정렬(Quick Sort)

퀵 정렬은 피벗을 선정해 해당 값보다 작은 데이터와 큰 데이터로 분류하는 것을 반복해 정렬하는 알고리즘이다.피벗이 어떻게 선정되는지가 시간 복잡도에 많은 영향을 미치고, 평균적인 시간 복잡도는 O(nlogn)이다. 퀵 정렬 핵심 이론피벗을 중심으로 계속 데이터를 2개의 집합으로 나누면서 정렬하는 것이 퀵 정렬의 핵심이다.피벗보다 작으면 왼쪽, 크면 오른쪽으로 정렬하면 된다.① 데이터를 분할하는 pivot을 설정한다(위 그림의 경우 가장 오른쪽 끝을 pivot으로 설정).② pivot을 기준으로 다음 a~e 과정을 거쳐 데이터를 2개의 집합으로 분리한다.②-a: start가 가리키는 데이터가 pivot이 가리키는 데이터보다 작으면 start를 오른쪽으로 1칸 이동한다.②-b: end가 가리키는 데이터가 p..

[java] 백준 1377번 문제(버블 소트)
자료구조 & 알고리즘/BOJ2025. 3. 21. 11:29[java] 백준 1377번 문제(버블 소트)

원본 링크 : https://www.acmicpc.net/problem/1377문제설명 소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;public class Boj_1377{ // 정렬 전 인덱스와 값을 저장하는 객체 static class Pair implements Comparable { int index; // index 저장 int value; // value 저장 // 생성자 Pair(int index, int value) { this...

[java] 백준 16967번 문제(배열 복원하기)
자료구조 & 알고리즘/BOJ2025. 3. 20. 11:45[java] 백준 16967번 문제(배열 복원하기)

원본 링크 : https://www.acmicpc.net/problem/16967문제설명 소스코드import java.io.*;import java.util.StringTokenizer;public class Boj_16967{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // H, W, X, Y를 받아옴 StringT..

[React] vite를 통해서 리액트 프로젝트 생성 및 실행
Front-End/React2025. 3. 19. 16:14[React] vite를 통해서 리액트 프로젝트 생성 및 실행

프로젝트 생성우선 node.js가 설치되어있어야 한다.필자의 node 버전은 22.14.0이다.맥에서 Homebrew를 통해서 22버전을 다운로드하는 명령어는 아래와 같다.brew install node@22 이후 프로젝트 폴더를 생성할 경로로 이동한다.cd cd /Users/... 아래의 명령어를 입력한다.npm create vite@latest  위와 같은 선택과정을 생략하려면 아래의 명령어를 입력한다.npm create vite@latest my-react-app -- --template reactnpm create: npm을 사용해 새 프로젝트를 생성하는 명령어vite@latest: vite의 최신 버전을 사용my-react-app:생성할 프로젝트 폴더명--: 이후의 옵션들을 vite 명령어에 전..

[java] 백준 17298번 문제(오큰수)
자료구조 & 알고리즘/BOJ2025. 3. 19. 11:12[java] 백준 17298번 문제(오큰수)

원본 링크 : https://www.acmicpc.net/problem/17298 문제설명  소스코드import java.io.*;import java.util.Stack;import java.util.StringTokenizer;public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // n과 수열을 받아옴..

[java] 백준 1874번 문제(스택 수열)
자료구조 & 알고리즘/BOJ2025. 3. 18. 11:29[java] 백준 1874번 문제(스택 수열)

원본 링크 : https://www.acmicpc.net/problem/1874 문제설명  소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;public class Boj_1874 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); Stack..

[Java] 백준 12891번 문제(DNA 비밀번호)
자료구조 & 알고리즘/BOJ2025. 3. 17. 15:37[Java] 백준 12891번 문제(DNA 비밀번호)

원본 링크 : https://www.acmicpc.net/problem/12891 문제설명  소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj_12891{ static int[] inputACGT = new int[4]; // 입력 받은 부분문자열에 포함되어야 할 최소 개수 static int[] countACGT = new int[4]; // 구간에 포함된 부분문자열에 포함된 개수 public static void main(String[] args) throws IOExceptio..

[Java] BigInteger 클래스
Language/Java2025. 2. 28. 09:48[Java] BigInteger 클래스

BigInteger는 Java에서 기본적으로 제공하는 정수 타입(int, long)보다 더 큰 정수를 다룰 수 있도록 설계된 클래스이다.int는 32비트 정수(약 ±21억), long은 64비트 정수(약 ±9경)까지만 저장할 수 있지만, BigInteger는 이보다 훨씬 큰 정수(무한대)를 다룰 수 있다.생성문자열을 이용한 생성import java.math.BigInteger;public class Main { public static void main(String[] args) { BigInteger bigInt1 = new BigInteger("123456789012345678901234567890"); System.out.println(bigInt1); // 1234..

image