반응형

전체 글 314

오라클 PL/SQL RAISE_APPLICATION_ERROR 사용자 예외 처리

PL/SQL에서 사용자 정의 함수를 만들 때 오류 코드 또한 사용자가 임의로 설정할 수 있다. 아래와 같은 방법으로 에러 메시지를 정의할 수 있는데, 오류 코드의 범위는 -20000 ~ -20999다. RAISE_APPLICATION_ERROR(오류코드, 에러메시지); 오류코드: -20000 ~ -20999 예시 CREATE OR REPLACE PROCEDURE RAISE_TEST IS USER_ERROR EXCEPTION; CNT NUMBER; BEGIN SELECT COUNT(*) INTO CNT FROM TMP; IF CNT

[자바로 푸는 백준] 25379번: 피하자

https://www.acmicpc.net/problem/25379 25379번: 피하자 음이 아닌 정수로 이루어진 길이 N의 배열 A = [A1, A2, · · · , AN]가 있다. 배열 A에서 인접한 두 수를 교환하는 시행을 원하는 만큼 할 수 있다. 이 때, 홀수와 짝수가 인접한 경우가 최대 1번 등장 www.acmicpc.net 🔶 풀이 알고리즘은 정말 둘 중 하나다. 엄청 잘 풀리거나 끝까지 막히거나..😭 홀수와 짝수가 인접한 경우가 최대 1번 등장하도록 만들어라. 즉, 모든 짝수 혹은 홀수를 왼쪽 혹은 오른쪽으로 이동시켜라. 필자는 짝수를 선택해서 왼쪽 혹은 오른쪽 끝으로 이동시켰다. i번째 정수가 짝수라고 가정했을 때, 왼쪽 끝으로 이동할 경우에는 i, 오른쪽 끝으로 이동할 경우에는 N -..

[백준]JAVA - 8980번: 택배

https://www.acmicpc.net/problem/8980 8980번: 택배 입력의 첫 줄은 마을 수 N과 트럭의 용량 C가 빈칸을 사이에 두고 주어진다. N은 2이상 2,000이하 정수이고, C는 1이상 10,000이하 정수이다. 다음 줄에, 보내는 박스 정보의 개수 M이 주어진다. M은 1이 www.acmicpc.net · · · (이하 생략) 🔶 풀이 필자는 해당 문제를 아래와 같은 순서대로 풀었다. 1. 박스 정보를 가까운 순으로 정렬하기. : 거리가 먼 박스를 싣고 이동하면 중간에 옮길 수 있는 상자를 놓칠 수 있다. 따라서, 받는 마을이 가까운 순으로 정렬해 주고, 보내는 마을을 가까운 순으로 정렬해 주면 된다. public static class Box implements Compar..

[백준]JAVA - 1939번: 중량제한

https://www.acmicpc.net/problem/1939 1939번: 중량제한 첫째 줄에 N, M(1 ≤ M ≤ 100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1 ≤ A, B ≤ N), C(1 ≤ C ≤ 1,000,000,000)가 주어진다. 이는 A번 섬과 B번 섬 사이에 중량제한이 www.acmicpc.net 🔶 풀이 한 번의 이동에서 옮길 수 있는 물품들의 최대값을 구하시오. 가능한 최대 중량을 찾기 위해서는 bfs로만 풀 수 없고, 이진 탐색을 이용해야한다. 1. 입력하는 과정에서 min, max 값을 선언해주고, 다리는 양방향이므로 arrList에 두 번씩 입력해준다. for (int i=0; i

[백준]JAVA - 3980번: 선발 명단

https://www.acmicpc.net/problem/3980 3980번: 선발 명단 각각의 테스트 케이스에 대해서, 모든 포지션의 선수를 채웠을 때, 능력치의 합의 최댓값을 한 줄에 하나씩 출력한다. 항상 하나 이상의 올바른 라인업을 만들 수 있다. www.acmicpc.net 🔶 풀이 11명 선수의 포지션 별 능력이 입력된다. 포지션 별로 중복되지 않은 선수 11명을 뽑아서 최대 점수를 구하라. 완전 탐색으로 진행하게 되면 경우의 수는 11! (39,916,800)로 시간 초과가 발생할 수 있다. 때문에 백트래킹을 사용해서 시간 복잡도를 줄여야한다. 위 문제에서 능력치가 0인 경우에는 해당 포지션에 설 수 없다고 했다. 또한, 이미 선발된 선수가 또 다시 선발될 수 없으므로 selected[] 배..

[백준]JAVA - 2412번: 암벽 등반

https://www.acmicpc.net/problem/2412 2412번: 암벽 등반 어떤 암벽에 n(1 ≤ n ≤ 50,000)개의 홈이 파져 있다. 각각의 홈의 좌표는 (x, y)와 같이 표현되는데, |a - x| ≤ 2이고 |b - y| ≤ 2이면 (x, y)에서 (a, b)로 이동할 수 있다. 이와 같이 홈들을 이용하여 이동 www.acmicpc.net 🔶 풀이 BFS로 충분히 해결할 수 있는 문제. (0, 0)에서 시작해서 (x, T)까지 올라가면 된다. 우선 입력값을 y값을 기준으로 배열을 만들어서 입력해줬다. rock = new ArrayList[200001]; // T의 최대값: 2,000,000 for (int i=0; i

자바 ServletContextListener 정의 및 구현 방법

ServletContextListener 웹 애플리케이션의 컨텍스트의 생명주기 이벤트를 처리하기 위한 인터페이스로 웹 애플리케이션이 시작과 종료 시점에서 특정 클래스의 메서드를 실행할 수 있는 기능을 제공한다. ServletContextListener 생성 방법 어떠한 방법을 사용해도 기본적으로 해당 클래스에 ServletContextListener 를 구현해야 한다. 1. web.xml 이용하는 방법 [MyServletContextListener.java] import javax.servlet.ServletContextEvent; import javax.servlet.ServletContetxtListener; public class MyServletContextListener implements Se..

[백준]JAVA - 2098번: 외판원 순회

https://www.acmicpc.net/problem/2098 2098번: 외판원 순회 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 16) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 🔶 풀이 불특정한 도시 A에서 출발해서 한 바퀴를 돌고 도시 A로 다시 돌아왔을 때 최소 비용을 구하는 문제. 시간 제한이 적기 때문에 dp와 비트마스크를 활용해야함. 비트마스크(Bit Mask) 알고리즘 장점 및 연산자 사용 방법 비트마스크(BitMask)는 이진수를 사용하는 컴퓨터의 연산 방식을 이용하여 정수의 이진수 표현을 자료 구조로 쓰는 기법 ✅ 이진..

[백준]JAVA - 4485번: 녹색 옷 입은 애가 젤다지?

https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 🔶 풀이 오랜만에 나온 다익스트라 문제. 완전 탐색으로 풀려고 했지만 시간 초과가 발생할 것 같아서 다른 방향을 생각해 봄. bfs와 다익스트라 알고리즘을 헷갈려하시는 분들이 있는 것 같은데 큰 차이점은 그래프의 가중치 유무와 dp 활용이다. 두 가지 알고리즘 모두 최단 거리를 찾는 알고리즘이지만 그래프의 가중치가 생기면 다익스트라 알고리즘을 사용하는 것이 좋다. 또한, 그래프의..

이클립스 실행 시 에러 The default workspace is in use or cannot be create, please choose a different on. 해결 방법

이클립스 실행 시에 아래와 같은 에러가 발생할 수 있다. The default workspace '지정한 경로' is in use or cannot be create, please choose a different one. 해결하는 방법은 총 두 가지가 있다. 에러 해결 방법 1. 작업관리자에서 eclipse.exe 프로세스 종료 2. 지정한 workspace의 .metadata 폴더에 .lock 파일 삭제

반응형