목록전체 (348)
파게로그
protocol A protocol defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message or other event(Kurose, Ross Computer Networking: A Top-down Approach p.35). networking - 정의: 장비들을 서로 대화가 가능하도록 묶어주는 것 - 목적: 정보의 공유, 자원의 공유 Internet - 정의: 여러 개의 네트워크를 묶어놓은 네트워크 연합 - 특징: 하나의 프로토콜만 사용함(TCP..
다음과 같은 방법을 통해 GET이나 POST에 특화된 함수를 구현할 수도 있다. @WebServlet("/hello") public class Hello extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = res.getWriter(); out.write("Welcome!"); out.printf("My name is %s.", name); } } service()가 오버라이드되어 있지 않으면 super.service(request, response)가 실행..
PrintWriter out = response.getWriter(); out.write("This is HTML code."); out.printf("My name is %s.", name); ...
문제 링크: 2293번 동전 1 https://www.acmicpc.net/problem/2293 dp[k]는 k원을 만드는 경우의 수를 나타낸다. 이 때 coins[0](엄밀히는 동전 중 임의의 한 개)만을 사용한다면, k가 coins[0]의 배수일 때에는 모두 1가지이므로 if k%coins[0]==0 dp[k]=1을 수행한다. 그 후, coins[1:](엄밀히는 처음에 선택한 동전을 제외한 다른 동전들)에 대해서, dp[k] += dp[k-coin]을 수행한다. coin만을 이용해서 만들 수 있는 경우의 수는 이미 dp[k]에 포함되어 있고, dp[k-coin]은 k-coin원에다가 coin을 이용해 coin만큼을 더해서 k를 만드는 경우의 수이므로 이 둘을 더해준다. import java.util..
문제 링크: 1520번 제목 https://www.acmicpc.net/problem/1520 P(i, j)가 (i, j)의 위치에서 출발지까지 가는 경로의 수를 나타낸다고 한다면 이는 다음과 같은 식으로 표현된다. P(i, j) = sum({P(k, l) | (k, l)은 (i, j)와 인접 & (k, l)은 (i, j)보다 고도가 높음}) P(i, j)의 초기값을 -1로 설정해두어서 방문 여부를 표시한다면, (i, j)를 방문한 경우 P(i, j)를 바로 사용하면 되며 이는 다시 계산할 필요가 없다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { ..
문제 링크: 11066번 제목 https://www.acmicpc.net/problem/11066 앞서 행렬의 곱 문제와 유사하다. 부분 문제의 해를 2차원 배열에 저장한다. 다만 여기서는 한 개짜리 파일을 두 개 합칠 때와 그렇지 않을 때의 계산 과정이 달라진다. merge_cost(A, B) = A.size + B.size merge_cost(AB, C) = merge_cost(A, B) + merge_cost(C) + size(AB) + size(C) 이를 고려하여 dp[i][1]과 dp[i][2]를 모두 미리 채운 후 dp 배열을 채워나간다. import java.util.Arrays; import java.util.Collections; import java.util.Scanner; import..
문제 링크: 11049번 행렬 곱셈 순서 https://www.acmicpc.net/problem/11049 아이디어는 다음의 두 지점에서 얻었다. 2차원 배열을 통해 부분 문제의 해를 저장해둘 수 있다. (원래 알고 있던 접근법) 행렬의 계산 순서는 바꿀 수 없다. (문제에서 제시된 조건) 계산 순서를 바꿀 수 없다는 조건은 대수롭지 않은 것으로 넘길 수 있지만, 굉장히 많은 경우의 수를 줄여주는 중요한 조건이다. 이는 바로 뒤 문제인 파일 합치기(문제 링크, 포스트 링크)에서도 마찬가지다. 여러가지 방법으로 저장할 수 있겠지만, 나는 dp[i][j]에서 i는 부분행렬의 마지막 행렬을, j는 부분행렬의 길이를 나타낼 때, dp[i][j]는 matrix[i-j+1:i+1]까지의 최소 연산 횟수를 나타내는..