분류 전체보기 59

기본 자료구조 - 해시, 트리, 힙

해시 (Hash) 임의의 데이터에 대해 고정된 길이의 데이터로 매핑 이론적으로 삭제 O(1), 삽입 O(1), 검색 O(1)의 시간복잡도 해시 테이블 내부의 값이 많아지면 해시충돌 현상 -> 기본 연산의 시간 길어짐 public class HelloWorld { public static void main(String[] args) { HashMap h1 = new HashMap(); HashMap h2 = new HashMap(); h1.put("aaa", "1111"); h1.put("bbb", "2222"); h1.put("ccc", "3333"); h1.putIfAbsent("aaa", "0000"); h1.putIfAbsent("ddd", "4444"); h2.putAll(h1); System.o..

algorithm/정리 2024.03.31

기본 자료구조 - Stack, Queue, Deque

스택(Stack) FILO (First In, Last Out) 구조 삽입과 삭제 연산이 동일한 한군데 삽입/삭제 연산 시간복잡도 O(1) 제일 상단의 원소 확인이 O(1) 제일 상단이 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능 이전에 활용한 데이터를 역으로 추적하거나 처음 들어온 데이터보다 나중에 들어온 데이터가 빨리 나가야 할 때 사용 stack s; s.push(10); s.push(20); s.top();//20 s.pop(); //20 큐 (Queue) FIFO (Fisrt In, First Out) 구조 삽입과 삭제 연산이 서로 다른 한군데에서 발생 삽입/삭제 연산에 있어 시간복잡도 O(1) 제일 앞/뒤의 원소확인이 O(1) 맨 앞을 front, 맨 뒤를 rear 삽입연산을 enque..

algorithm/정리 2024.03.30

백준 10989번 (수 정렬하기 3) Java 11 계수 정렬

문졔 : 수 정렬하기 3 시간 제한 : 3 sec 메모리 제한 : 8MB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import java.io.*; import java.util.*; 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)); StringTokenizer st; ..

백준 2740번 (행렬 곱셈) 자바 Java11

문제 : 행렬 곱셈 시간 제한 : 1 sec 메모리 제한 : 128 MB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException{ // BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // BufferedWriter bw = new BufferedWrite..

백준 1914번 (하노이 탑) 자바 Java11

문제 : 하노이 탑 시간 제한 : 6 sec 메모리 제한 : 128 MB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 import java.io.*; import java.math.BigInteger; import java.util.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new Bu..

백준 2747번 (피보나치 수) 자바 Java 11

문제 : 피보나치 수 시간 제한 : 1 sec 메모리 제한 : 128 MB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import java.io.*; import java.util.*; 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)); int n = In..

백준 17219번 (비밀번호 찾기) 자바 Java11

문제 : 비밀번호 찾기 시간 제한 : 5 sec 메모리 제한 : 256 MB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br =..