자바

· 언어/java
특징 인터페이스 기반으로 만들기 때문에 인터페이스가 필수 런타임에 동적으로 프록시 객체를 만들어줌 사용 예시 public static void main(String[] args) { TestInterface ref = (TestInterface) Proxy.newProxyInstance( TestInterface.class.getClassLoader(), new Class[]{TestInterface.class}, handler); ref.call(); } } Proxy.newProxyInstance 동적 프록시 생성 함수 인자 값 프록시 인터페이스의 클래스 로더 인터페이스 클래스에 대한 배열 입력 프록시 동작을 수행하기 위한 InvocationHandler 인터페이스만으로 프록시를 사용할 수 있을까? ..
문제 정보는 아래 링크를 확인해주세요! [9576 - 책 나눠주기] 9576번: 책 나눠주기 백준이는 방 청소를 하면서 필요 없는 전공 서적을 사람들에게 나눠주려고 한다. 나눠줄 책을 모아보니 총 N권이었다. 책이 너무 많기 때문에 백준이는 책을 구분하기 위해 각각 1부터 N까지의 �� www.acmicpc.net 문제 접근 방법 a와 b를 입력 받는 동시에 리스트에 b를 기준으로 오름차순 정렬을 해준다. 나눠준 책을 확인하기위한 배열 생성 정렬된 책 정보를 통해 a~b까지 분기문을 돌면서 등록되지 않은 책을 등록하고 최대 수량 증가 위 과정을 테스트 케이스만큼 반복한다. [소스 코드] package algorithm.grid; import java.util.*; /* * 백준 9576 * 책 나눠주기 ..
문제 정보는 아래 링크를 확인해주세요! [3109 빵집] 3109번: 빵집 문제 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴� www.acmicpc.net 문제 접근 방법 (0,0) 부터 오른쪽 대각선 위, 옆, 대각선 아래를 검사해주면서 지나갈 수 있는 곳을 방문 표시해주고, 오른쪽 라인으로 (0,C)까지 이동하면서 검사를 반복한다. 검사를 마치고 (0,C)까지 이동할 수 있다면 종료 (R,0)까지 위 세가지 과정을 반복한다. 유의해야할점은 해당 파이프라인으로부터의 가지치기를 방지하기위해 재귀함수를 리턴한다. 자세한 설명은 아래 그림 참조 [소스 코드] package ..
문제 정보는 아래 링크를 확인해주세요! [백준 - 1202 보석도둑] 1202번: 보석 도둑 문제 세계적인 도둑 상덕이는 보석점을 털기로 결심했다. 상덕이가 털 보석점에는 보석이 총 N개 있다. 각 보석은 무게 Mi와 가격 Vi를 가지고 있다. 상덕이는 가방을 K개 가지고 있고, 각 가방에 � www.acmicpc.net 문제 접근 방법 가방과 보석점을 오름차순으로 정렬한다. 우선순위 큐를 하나 만든다. 가방에 대한 분기문을 진행하면서 현재 가방의 무게보다 작은 보석점의 가격을 우선순위 큐에 담는다. 우선순위 큐에서 가격이 가장 높은 것을 꺼낸다. 결과값에 더해준다. [소스 코드] package algorithm; import java.util.*; public class Algorithm { //보석점..
문제 정보는 아래 링크를 확인해주세요! [암호코드] 2011번: 암호코드 문제 상근이와 선영이가 다른 사람들이 남매간의 대화를 듣는 것을 방지하기 위해서 대화를 서로 암호화 하기로 했다. 그래서 다음과 같은 대화를 했다. 상근: 그냥 간단히 암호화 하자. A를 1이� www.acmicpc.net 문제 접근 방법 암호코드의 첫째 자리부터 마지막 자리수까지 만들 수 있는 가지수를 구해나가는 DP 방식 만들 수 있는 문자의 번호는 1 ~ 26 이므로 현재값으로 1~9 사이의 문자를 만들 수 있는지 확인하고 현재값과 이전값으로 10 ~ 26 사이의 문자를 만들 수 있는지 확인한다. 유의해야할 부분은 각 DP 요소마다 범위를 넘어설 수 있으므로 1000000으로 나눠주고 암호코드의 첫 번째 요소가 '0'이면 문자..
문제 정보는 아래 링크를 확인해주세요! [조이스틱] 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 문제 접근 방법 name의 길이만큼 'A'로 구성된 문자열을 만듭니다. name의 문자열의 요소가 'A'가 아닌 곳을 찾고 해당 요소를 위,아래로 움직인 횟수중 더 작은 값을 결과값에 추가해줍니다. 해당 요소에서 왼쪽과 오른쪽을 탐색해주면서 더 적은 이동으로 'A'가 아닌 곳을 찾는 방향을 선택합니다. 이 때, 유의해야할 점은 왼쪽과 오른쪽 검사에서 오른쪽 검사를 먼저해줍니다. 그 이유는 왼..
문제 정보는 아래 링크를 확인해주세요! [카카오프렌즈 컬러링북] 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 문제 접근 방법 기본적인 BFS 탐색 문제입니다. 그림판을 탐색하면서 0이 아니고 방문하지 않은 곳을 발견하면 영역을 하나 증가 시켜주고 현재 방문한 곳부터 상,하,좌,우를 탐색하며 같은 영역을 찾습니다. 해당 영역에 대한 탐색이 끝나면 그 영역의 갯수와 최댓값을 비교해줍니다. 다음 영역을 구하기위해 그림판을 재탐색합니다. [소스 코드] package algorithm.programmersLevel2..
문제 정보는 아래 링크를 확인해주세요! [다리를 지나는 트럭] 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이�� programmers.co.kr 문제 접근 방법 다리를 지나고 있는 트럭에 대한 정보와 대기하고 있는 트럭의 정보를 만들어주고 현재 다리의 가능 무게보다 대기중인 트럭의 무게가 작거나 같으면 그 트럭을 다리를 지나는 트럭 정보에 추가해주고, 현재 가능 무게를 트럭의 무게만큼 감소시킨다. 다리를 지나는 트럭 정보에서 트럭이 다리를 건넜으면 그 트럭을 제거해주고, 트럭의 무게만큼 가능 무게를 증가한다. 다리를 지나는..
iron_jin
'자바' 태그의 글 목록