문제 https://www.acmicpc.net/problem/19575 문제해설 다항식이 주어지고 다항식을 계산한 값에 1000000007 나눈 나머지를 구하면 된다. 문제풀이 차수가 최대 10^6까지 오기때문에 단순히 pow함수등을 이용해 앞에서부터 제곱을 하며 구한다면 시간초과가 날 것이다. 그렇기때문에 문제에 나온 힌트를 이용해서 접근...
백준 1405 미친로봇 c++
문제 https://www.acmicpc.net/problem/1405 문제해설 로봇이 동서남북 방향으로 움직인다. 로봇이 총 이동할 수 있는 횟수와 각 방향으로 움직일 수 있는 확률이 주어진다. 이 때 로봇의 이동경로가 단순할 확률을 구하면 된다. 이동경로가 단순하다는 것에 대한 설명을 참 어렵게 써놨다. 일부러 이렇게 해서 난이도를 높이는건지...
JSP Servlet Forward
Forward forward란 무엇인가? WAS의 서블릿이나 JSP가 요청을 받은 후 추가적인 처리를 같은 웹 어플리케이션 안의 다른 서블릿이나 JSP에 맡기는 경우 이를 위해 forward를 사용한다. 작동원리 웹 브라우저에서 Servlet1에게 요청을 보냄 Servlet1은 요청을 처리한 후, 그 결과를 ...
백준 3042 트리플렛 c++
문제 https://www.acmicpc.net/problem/3042 문제해설 트리플렛이라는 게임을 한다. 격자판에 서로 다른 알파벳 대문자가 주어진다. 이 때 어떠한 3알파벳이 직선상에 위치하면 트리플렛이다. 이렇게 만들어질 수 있는 모든 트리플렛의 개수를 구하면 된다. 문제풀이 그냥 완탐하면 된다. 알파벳이 서로 다 다르기 때문에 어떤 알...
투포인터 알고리즘
투포인터 알고리즘이란? 1차원 배열에서 각자 다른 원소를 가리키고 있는 2개의 포인터를 이용해 문제를 해결하는 알고리즘이다. 대표적인 문제는 백준 1806 구간합 문제이다. https://www.acmicpc.net/problem/1806 문제를 해설하며 알고리즘도 같이 설명하겠다. 문제해설 길이 n인 수열이 주어진다. 목표값이 주어지고 수열의 ...
백준 15658 연산자 끼워넣기 (2) c++
문제 https://www.acmicpc.net/problem/15658 문제해설 숫자가 n개 주어지고 +, -, x, / 연산자의 개수가 주어진다. 이때 숫자와 연산자들을 조합하여 최대값과 최소값을 구하면 된다. 연잔자를 다 쓸 필요는 없다. 문제풀이 재귀를 이용해 완전탐색을 해주면 된다. 재귀는 현재 숫자의 인덱스, 연산의 합, 연산자들의 ...
백준 8901 화학 제품 c++
문제 https://www.acmicpc.net/problem/8901 문제해설 A, B, C 세개의 화학물질이 주어진다. 그리고 화학물질을 섞었을 때의 가격이 주어진다. 가격은 AB, BC, CA가 존재한다. 화학물들을 적절히 조합하여 최대의 이익을 출력하면 된다. 문제풀이 무식하게 3중 포문으로 푼다면 시간초과가 난다. 문제의 해법은 AB의...
백준 12933 오리 c++
문제 https://www.acmicpc.net/problem/12933 문제해설 “quack”하고 우는 오리가 있다. 문자열이 주어지고 몇 마리의 오리가 우는지 구하면 된다. 잘못된 문자열이면 -1을 출력한다. 문제풀이 구현문제 n^2으로 그냥 구현해도 시간초과가 나진 않을 것 같지만 n으로 푸려고 노력했다. 우선 -1을 출력하는 조건을 제대...
JPA 데이터베이스 스키마 자동생성
스키마 자동생성 어플리케이션 로딩 시점에 DB의 데이블을 자동으로 생성해주는 기능이다. 이렇게 하면 개발 과정에서 따로 테이블을 만들어줘야하는 번거로움이 사라진다. 또한 데이터베이스 방언 즉 DB를 어떤 것을 쓰는지에 따라 그에 알맞는 테이블을 생성해준다. 이 기능은 개발 초기 단계에서는 쓰는 것이 유용하지만 실제 서비스를 운용하거나 테스트하는 ...
백준 14382 숫자세는 양 (Large) c++
문제 https://www.acmicpc.net/problem/14382 문제해설 숫자 N이 주어진다. N에 1, 2, 3, … 을 곱해가면서 구성되어있는 수 들을 모두 체크한다. 0부터 9까지의 모든 수가 체크되는 순간 해당 수를 출력하면 된다. 문제풀이 이 문제는 내가 알고리즘을 처음 시작할 때 접했다면 별 생각없이 그냥 풀어냈을 수도 있다...