![[Java] 백준 11286번 문제 (절댓값 힙)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6uSCI%2FbtsyTqkNvqd%2FG2LRSkGOy7Jk9yC1kcUKWk%2Fimg.png)
원본 출처 : https://www.acmicpc.net/problem/11286문제설명 소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Comparator;import java.util.PriorityQueue;public class Boj_11286{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb ..
![[Java] 백준 11279번 문제 (최대 힙)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRi6SA%2FbtsyXZsqubE%2FI1j9dWzS0lhIf5kR4EDT50%2Fimg.png)
문제설명 소스코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Collections; import java.util.PriorityQueue; public class Main { public static void main(String[] args) throws Exception { PriorityQueue maxHeap = new PriorityQueue(Collections.reverseOrder()); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder()..
![[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라고 한다. 프레젠테이션 로직, 비즈니스 로직 프레젠테이션 로직 : 사용자 인터페이스와 관련된 작업을 처리하는 부분을 의미 프레젠테이션 로직은 사용자가 애플리케이션과 상호 작용할 때 발생하는 이벤트를 처리하고, 화면에 데이터를 표시하고, 사용자 입력을 유효성 검사하며, 사용자에게 응답을 제공하는 역할을 한다. 비즈니스 로직 : 실제로 수행되는 작업이나 연산을 정의하는..