분류 전체보기
-
[BOJ]백준 22953번: 도도의 음식 준비(Python)/Backtracking, BinarySearchProblem Solving/BOJ(백준) 2021. 8. 26. 15:58
https://www.acmicpc.net/problem/22953 22953번: 도도의 음식 준비 첫째 줄에 요리사의 수 $N$ ($1 \le N \le 10$), 만들어야 할 음식의 개수 $K$ ($1 \le K \le 1\,000\,000$), 격려해줄 수 있는 횟수 $C$ ($0 \le C \le 5$)가 주어진다. 둘째 줄에 길이가 $N$인 정수 수열 $A$가 주어 www.acmicpc.net 입국심사에서 백트래킹을 이용한 조합을 추가한 문제 ❗ 격려의 최대 회수가 5이기 때문에 격려해줄 수 있는 모든 경우를 시뮬레이션 한 뒤 이진탐색으로 값을 구해주면 된당 import sys input=sys.stdin.readline n,k,c=map(int,input().split()) a=list(map..
-
[BOJ]백준 3079번: 입국심사(Python)/BinarySearchProblem Solving/BOJ(백준) 2021. 8. 26. 14:54
https://www.acmicpc.net/problem/3079 3079번: 입국심사 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 1,000,000,000) 다음 N개 줄에는 각 심사대에서 심사를 하는데 걸리는 시간인 Tk가 주어진다. (1 ≤ Tk ≤ 109) www.acmicpc.net 오랜만에 다시 푼 이진탐색 문제 입국심사 loop invariant에 대해 알고난 뒤에는 탐색 범위 설정에 유의하고 나니 설계도 더 명확하게 되고 잘 풀리는 느낌이다 대부분의 이진탐색에서 공통적으로 적용되는 조건인 left < right를 제외하면, 이 문제에서는 left일 때에는 모든 사람이 통과하는 것이 불가능하고 right일 때 에는 모든 사람이 통과하는 것이 가능해야 한다. ..
-
String Pool - Java의 String은 어디에 저장될까Programming/Java 2021. 8. 26. 01:24
Java String API(java.lang.String)는 Java에서 Primitive Data Type과 Reference Data Type의 중간 성격을 띄는, 특별한 클래스이다 https://2jinishappy.tistory.com/259?category=936901 [Java] String 🆚 StringBuffer 🆚 StringBuilder 무슨 차이일까? "String, StringBuilder, StringBuffer의 차이에 대해 설명하세요" 라는 면접 빈출 질문이 있다고 한다 그래서 오늘 java 공식 api 문서를 보면서 세 가지 클래스의 차이를 정리해 볼 것이다 1. String String 클.. 2jinishappy.tistory.com 이 글에서 언급한 것 처럼, Str..
-
Checked and Unchecked ExceptionProgramming/Java 2021. 8. 25. 21:10
Exception Java에는 Checked Exception과 Unchecked Exception이 존재한다. Checked Exception RuntimeException을 상속하지 않는 클래스. Exception 처리 코드 여부를 컴파일러가 Check 프로그램 실행 흐름 상 에러 발생 가능이 있을 때 try-catch / throws를 이용해 예외 처리 (Spring) Transaction의 기본 Rollback 대상이 아니기 때문에 트랜잭션 관리를 위한 추가적인 처리를 해주어야 한다 Unchecked Exception RuntimeException을 상속하는 클래스. 언제 발생할까? 프로그래머의 실수로 발생하는 예외 상황(0으로 나누기, NPE, OutOfIndex 등) 컴파일 시점에는 에러가 발..
-
[BOJ]백준 21941번: 문자열 제거(Python)/String, DPProblem Solving/BOJ(백준) 2021. 8. 25. 01:23
https://www.acmicpc.net/problem/21941 21941번: 문자열 제거 지우고 싶은 문자열 $S$와 지울 수 있는 문자열 $A_{1}$, $A_{2}$, ..., $A_{M}$이 주어진다. 문자열 $A_{i}$들은 각자 $X_{i}$라는 점수를 가진다. 이 때, 문자열 $S$를 삭제 연산을 이용하여 모두 제거하려 www.acmicpc.net 아주 고생고생고생한 DP문제 첫 번째 접근: 원래 문자열에서 해당하는 문자열을 삭제하고 중간 문자열들에 대한 최대 점수를 DP로 저장하는 방식(🔥시간초과🔥) import sys sys.setrecursionlimit(10**6) input=sys.stdin.readline def func(origin): global d,cache if len(..
-
[Java] Hotspot JVM Garbage Collection 과정Programming/Java 2021. 8. 23. 21:22
Garbage Collection(GC)은 메모리 관리 기법 중 하나로, 프로그램이 동적으로 할당한 메모리 영역 중 더 이상 사용하지 않는(않을 것이라 판단되는) 영역을 해제하는 기법이다. C언어의 malloc을 이용한 동적 할당은 free를 통해 사용자가 메모리 해제의 시점과 여부를 선택해야 했다. //SIZE 만큼 동적할당 int* arr = (*int)malloc(sizeof(int)*SIZE); //직접 메모리 영역 해제 free(arr); 이러한 방식은 해제해야 할 메모리 영역도 그대로 남아있는 메모리 누수를 발생시킬 수 있기 때문에 요즘의 언어에서는 메모리가 더 이상 참조되지 않는 시점에 알아서 메모리를 해제하는 GC를 두는 것이 일반적이다. 이 글에서는 JVM(Java Virtual Mach..
-
[BOJ]백준 2240번: 자두나무(C++)/DPProblem Solving/BOJ(백준) 2021. 8. 23. 02:27
https://www.acmicpc.net/problem/2240 2240번: 자두나무 자두는 자두를 좋아한다. 그래서 집에 자두나무를 심어두고, 여기서 열리는 자두를 먹고는 한다. 하지만 자두는 키가 작아서 자두를 따먹지는 못하고, 자두가 떨어질 때까지 기다린 다음에 떨어 www.acmicpc.net 오늘 깔끔하게 프로그래머스 미로탈출 푸는게 목표였는데.... ^^흠 DP는 항상 어렵다 특히 for문을 잘 쓰는 bottom-up 방식은 생각이 안 난다 그래서 나는 항상 재귀함수를 구현한 뒤에 메모이제이션을 적용한다 DP는 어렵다 . . . #include #include using namespace std; int T, W; int plum[1005], cache[2][31][1005]; int fun..
-
[Java] Primitive Data TypesProgramming/Java 2021. 8. 22. 05:23
Java는 statically-typed language로서 컴파일 시간에 변수의 타입이 초기화 되므로 변수는 선언과 동시에 반드시 초기화 되어야 한다 int num = 1; 이러한 문장을 통해 numeric data를 가지고 있고 '1'의 초기 값을 지닌 num이라는 변수를 선언할 수 있다. 변수의 데이터 타입은 변수가 가질 수 있는 값, 해당 변수에 적용할 수 있는 연산들을 지정할 수 있다. 자바는 클래스형이 아닌 8가지의 원시 타입(숫자형, 문자형)을 제공한다. data type size 표현 범위 default value byte 1byte -128 ~ 127 0 short 2byte -32,768 ~ 32,767 0 int 4byte -2^31 ~ 2^31 - 1 (unsigned) 0 ~ 2^..