Study/코딩스터디_TIL 썸네일형 리스트형 [java 스터디] 백준 3048번 개미 내부 클래스 (Inner Class)내부 클래스(inner class)란 하나의 클래스 내부에 선언된 또 다른 클래스를 의미한다.보통 사용자 클래스 자료형이 필요하면, 메인 클래스 외부에 선언하거나, 따로 독립적인 클래스 파일을 만들어 불러와 사용해 왔다. 내부 클래스는 대신 클래스 내에 선언되어 사용되며, 내부에 정의된다는 점을 제외하고는 일반적인 클래스와 다르지 않다. 우리가 어느 클래스에 변수나 상수가 필요하다면 클래스 멤버로서 클래스 내에서 선언하여 사용해 왔듯이, 선언 주체를 변수에서 클래스로 바꾼다면 그것이 내부 클래스인 것이다.이처럼 내부 클래스는 보통 두 클래스가 서로 긴밀한 관계가 있거나, 하나의 클래스또는 메소드에서만 사용되는 클래스일 때 이용되는 기법이라고 보면 된다.Tip내부(inn.. 더보기 [java 스터디] TreeMap 개념 및 백준 20291번 문제풀이 TreeMapTreeMap은 이진트리를 기반으로 한 Map 컬렉션이다.TreeMap에 객체를 저장하면 자동으로 정렬되는데, 키는 저장과 동시에 자동 오름차순으로 정렬된다.숫자(Integer, Double) 타입일 경우에는 값으로 정렬하고문자열(String) 타입일 경우에는 유니코드로 정렬한다.📌 정렬기준 : 숫자 > 알파벳 대문자 > 알파벳 소문자 > 한글정렬 순서는 기본적으로 부모 키값과 비교해서 키 값이 낮은 것은 왼쪽 자식 노드에, 키값이 높은 것은 오른쪽 자식 노드에 Map.Etnry 객체를 저장한다.TreeMap은 SortedMap 인터페이스를 구현하고 있어, 데이터를 저장할 때 즉시 정렬하기에 추가나 삭제가 HashMap보다 오래 걸린다. 하지만 정렬된 상태로 Map을 유지해야 하거나 정렬된.. 더보기 [java 스터디] 문제풀이 28107번 java 백준-회전초밥 문제 회전 초밥 가게에 N명의 손님이 있고, 요리사는 M개의 초밥을 순서대로 만든다. 요리사가 초밥을 만들 경우, 1번 손님부터 N번 손님의 순서대로 그 초밥을 받게 된다. 만약 먼저 초밥을 받는 손님이 초밥을 먹을 경우, 뒤의 손님들은 해당 초밥을 먹을 수 없다. 만약 아무도 해당 초밥을 먹지 않는다면, 초밥은 버려진다. N명의 손님은 각자 먹고 싶은 초밥이 적힌 주문 목록을 가지고 있다. 목록에 적힌 초밥의 순서에 상관 없이 만약 목록에 적혀있는 초밥이 앞에 오면 반드시 먹는다. 만약, 목록에 적히지 않은 초밥을 받는다면 그 초밥은 반드시 먹지 않는다. 단, 손님들은 다양한 초밥을 먹고 싶어하기 때문에 각 종류의 초밥은 최대 한 번만 먹는다.각 손님의 주문 목록과 순서대로 만들어지는 M개의 초밥이 .. 더보기 [java 스터디] 문제풀이 11286번 java 백준 최대 힙 문제랑 많이 비슷하다.최대 힙 문제처럼 우선순위 큐를 사용한다. 하지만 절댓값 기준으로 정렬을 해줘야 하니, Compare를 오버라이드해서 정렬의 기준을 정한다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Comparator;import java.util.PriorityQueue;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in.. 더보기 [java 스터디] 문제풀이 Result506. Relative Ranks You are given an integer array score of size n, where score[i] is the score of the ith athlete in a competition. All the scores are guaranteed to be unique.The athletes are placed based on their scores, where the 1st place athlete has the highest score, the 2nd place athlete has the 2nd highest score, and so on. The placement of each athlete determines their rank:The 1st place athlete's rank is .. 더보기 [java 스터디] 우선순위 큐 1.1 우선순위 큐란?큐(Queue)는 먼저 들어오는 데이터가 먼저 나가는 FIFO(First In First Out) 형식의 자료구조이다.우선순위 큐(Priority Queue)는 먼저 들어오는 데이터가 아니라, 우선순위가 높은 데이터가 먼저 나가는 형태의 자료구조이다. 우선순위 큐는 일반적으로 힙(Heap)을 이용하여 구현한다. 1.2 힙이란?힙(Heap)은 우선순위 큐를 위해 고안된 완전이진트리 형태의 자료구조이다.여러 개의 값 중 최댓값 또는 최솟값을 찾아내는 연산이 빠르다. 힙의 특징완전이진트리 형태로 이루어져 있다.부모노드와 서브트리간 대소 관계가 성립된다. (반정렬 상태)이진탐색트리(BST)와 달리 중복된 값이 허용된다. 힙의 종류최대 힙 (Max Heap)❝ key(부모노드) ≥ key(자.. 더보기 [java] 큐 활용 문제풀이 백준 4949번 균형잡힌 세상 균형잡힌 세상 성공다국어한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초128 MB160965551474247932.944%문제세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다.정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다.문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다.모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이뤄야 한다.모든 왼쪽 대괄호("[")는 오른쪽 대괄호("]")와만 짝을 이뤄야 한다.모든 오른쪽 괄호들은 자신과 짝을 이룰 수 있는 왼쪽 괄호가 존재한다.모든 괄호들의 짝은 1:.. 더보기 [java] 큐 활용 문제풀이 백준 26043번 식당메뉴 큐를 이용해 들어온 수를 이용해 출력해주는 문제입니다.1. switch를 이용해 유형에 따라 처리해 주었습니다. 1-1. 1유형이 들어온다면 학생의 번호와 원하는 메뉴를 배열로 만들어 큐에 저장했습니다. 1-2. 2유형이 들어온다면 큐에서 poll()을 이용해 원하는 메뉴를 먹었다면 A에 못 먹었다면 B에 저장을 해주엇습니다.while (n-- > 0) { st = new StringTokenizer(br.readLine()); type = Integer.parseInt(st.nextToken()); // 유형 switch (type) { case 1: a = Integer.parseInt(st.nextToken()); // 학생의 번호 b = Integer.. 더보기 [JAVA 스터디] Queue 개념 Queue : 선입 선출(FIFO: First In First Out)의 성격을 지닌 자료구조[자료구조] 큐(Queue)에 대한 설명글 [자료구조] 큐(Queue)큐 (Queue) - 스택과 마찬가지로 삽입과 삭제의 위치가 제한된 유한 순서 리스트 - 선입선출 구조(FIFO, First-In-First-Out) : 삽입 순으로 나열되어 가장 먼저 삽입한 원소가 가장 먼저 삭제된다. 삭제kwin0825.tistory.com 선언 import java.util.Queue;import java.util.LinkedList; Queue 변수명 = new LinkedList(); ㄴ 위 같은 경우는 자료형에 넣은 자료형만 삽입, 삭제 가능Queue 변수명 = new LinkedList(); ㄴ 위 같.. 더보기 [JAVA 스터디] Stack 과 Queue Stack은 LIFO(Last In First Out) 구조로 되어 있으며, 쉽게 해석하면 "후입 선출" 입니다.즉, 마지막(최근)에 넣은 것을 먼저 뺀다는 말이죠. Queue는 FIFO(First IN First Out) 구조로, Stack과 반대로 "선입 선출" 입니다.아르바이트하면서 냉장고에 재고 채워넣을 때 선입선출이란말 자주 들어보셨죠 ?즉, 먼저 넣은 것(오래된 것)을 먼저 뺀다는 말입니다. 스택(Stack)과 큐(Queue) 비교 코드import java.util.Stack;import java.util.LinkedList;import java.util.Queue;class StackQueueEx {public static void main(String[] args) {Stack st = .. 더보기 이전 1 2 다음 목록 더보기