![[Java] 백준 1927번 문제 (최소 힙)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBCVAI%2FbtsyTEbYWaS%2FeJ6POwzuHr4GG9VgebkrN1%2Fimg.png)
문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.PriorityQueue; public class Main { public static void main(String[] args) throws Exception { PriorityQueue maxHeap = new PriorityQueue(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int N = Integer.parseInt(br.readLine()); for(int i = 0..
![[Java] Heap(힙)과 Priority Queue(우선순위 큐)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6KfED%2FbtsAyWBz2oj%2FdASUXNxIEq4ZdtzkRVGk80%2Fimg.png)
힙과 우선순위 큐 결론부터 말하자면, 우선순위 큐는 ADT(Abstract Data Type) 이고, 힙은 우선순위 큐의 개념을 구현한 것이다. ADT 구현하고자 하는 구조에 대해 구현 방법은 명시하지 않고 자료구조의 특성들과 어떤 기능이 있는지를 설명하고 나열한 것. 즉, 구현은 하지 않고 어떠한 기능과 어떠한 작동원리를 가지는지 추상적으로 설명한 것이다. 우선순위 큐는 단순 FIFO구조가 아니라, 각 큐에 들어오는 원소마다 우선순위가 정해져 있다. 만약, 우선순위가 높은 순서대로 큐에서 제거하기로 했다면 큐에 들어온 순서대로 원소가 제거되는 것이 아니라 우선순위가 높은 순서대로 큐에서 제거된다. 만약, 우선순위가 낮은 순서대로 큐에서 제거하기로 했다면 큐에 들어온 순서대로 원소가 제거되는 것이 아니라..
![[Java] 백준 1673번 문제 (치킨 쿠폰)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfJfNt%2FbtsyLrcCh1F%2FzUYPlmdvn2K3nEPI2ulDb1%2Fimg.png)
문제설명 소스코드 import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); while(sc.hasNextInt()) { int n = sc.nextInt(); int k = sc.nextInt(); int ans = n; int stamps; while(n >= k) { stamps = n / k; ans += stamps; n = stamps + (n % k); } System.out.println(ans); } } } 설명 코드가 간단하기 때문에 코드에 대한 설명은 필요없을 것 같다. 문제를 보면 테스트케이스..
![[Java] 백준 1918번 문제 (후위 표기식)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FodtWT%2FbtsyGsJzIcN%2FTck4UcdWqi3jHxM8GfzjWk%2Fimg.png)
문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static int priority(char operator) { if (operator == '+' || operator == '-') return 1; if (operator == '*' || operator == '/') return 2; return 0; } public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(Syst..
![[Java] 백준 1935번 문제 (후위 표기식2)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdkZzHR%2FbtsyHKbL2Xb%2F6yZOpEpIIceZ3Ry5ra5660%2Fimg.png)
문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Stack; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Stack operand = new Stack(); HashMap hash = new HashMap(); int N = Integer.parseInt(br.readLine()); String input = br.rea..
![[JSP] JSP를 배우기전 알아야 할 개념 (MVC, 빈, 서블릿, 기본 처리 과정)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPOZC5%2FbtsyqxLVc4C%2Fbj8Vh8coqb2BLZ9M97kAG0%2Fimg.png)
용어 정리 View, Model, Controller 용어 내용 View 사용자에게 보여줄 UI 또는 사용자가 보게될 화면 Model 백그라운드에서 동작하는 로직 처리(알고리즘, DB와 상호작용, 데이터 처리 등) Controller 사용자의 입력처리와 흐름 제어(사용자 요청화면 처리, 화면 로직처리 부분) 위 세 가지의 용어를 줄어서 MVC라고 한다. 프레젠테이션 로직, 비즈니스 로직 프레젠테이션 로직 : 사용자 인터페이스와 관련된 작업을 처리하는 부분을 의미 프레젠테이션 로직은 사용자가 애플리케이션과 상호 작용할 때 발생하는 이벤트를 처리하고, 화면에 데이터를 표시하고, 사용자 입력을 유효성 검사하며, 사용자에게 응답을 제공하는 역할을 한다. 비즈니스 로직 : 실제로 수행되는 작업이나 연산을 정의하는..
![[DB 이론] 데이터베이스 시스템](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgvyRg%2Fbtsywxb3SRq%2FqH3CLfkl0M4gkwLWnZVAxk%2Fimg.png)
이 글은 데이터베이스 개론 (저자 김연희)의 내용을 개인적으로 정리하는 글임을 알립니다. 데이터베이스 시스템의 정의 흔히 데이터베이스, 데이터베이스 관리 시스템, 데이터베이스 시스템을 같은 의미로 사용하지만 각 용어의 개념을 구분하고 관계를 명확히 이해할 필요가 있다. 데이터베이스(DB) : 데이터를 저장해 두는 곳, 데이터의 집합 데이터베이스 관리 시스템(DBMS) : 데이터베이스에 저장된 데이터가 일관되고 무결한 상태로 유지되도록 관리 데이터베이스 시스템(DBS) : 데이터베이스와 데이터베이스 관리 시스템을 이용해 조직에 필요한 정보를 제공해 주는 전체 시스템 데이터베이스와 데이터베이스 관리 시스템은 데이터베이스 시스템의 핵심 구성 요소다. 데이터베이스 시스템은 위에서 설명한 두 가지 말고도 데이터 ..
![[Java] 백준 11869번 문제 (님블)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbETQr5%2FbtswPUPsGYz%2FCa1EjqNkbkPkV0rIZztqMk%2Fimg.png)
문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); StringTokenizer st = new StringTokenizer(br.readLine()); int xor = Integer.parseInt(st.nextToken..