목록전체 글 (601)
sm 기술 블로그
import sys input = sys.stdin.readline N,K = map(int, input().split()) # K => 무게 DP = [[0]*(K+1) for _ in range(N+1)] for i in range(1,N+1): weight, value = map(int, input().split()) for j in range(1,K+1): if j < weight: DP[i][j] = DP[i-1][j] else: DP[i][j] = max(value + DP[i-1][j-weight], DP[i-1][j]) print(DP[N][K]) 문제요약 군대가기전 여행가는 준서의 배낭을 최대한 가치있게 준비할 수 있도록 하자. 설명 첫줄에 K는 무게이다. 두번째 줄 부터 첫번째 인덱스 ..
JSP (JavaSeverPage) HTML 코드에 JAVA 코드를 넣어 동적 웹 페이지를 생성하는 웹 어플리 케이션 도구이다. JSP가 실행되면 자바 서블릿(Servlet)으로 변환 되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다. 자바 서블릿(Servelt) : 웹페이지를 동적으로 생성하기 위한 서버측 프로그램 (자바 언어 기반) 1 클라이언트가 jsp 요청을 보냄. 2 jsp 컨테이너가 jsp 파일을 읽음. 3 jsp 컨테이너가 변환작업을 통해 Servlet 파일 생성 4 .java 파일이 .class파일로 컴파일됨 5 실행을 통해 HTML 파일을 생성하여 JSP 컨테이너에게 전달한다. 6 JSP는 HTTP 프로토콜을 통해 HTM..
import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] A = br.readLine().split(""); String[] B = br.readLine().split(""); int LengthA = A.length + 1; int LengthB = B.length + 1; int[][] arr = new int[LengthA][LengthB]; for (int i = 1; i < LengthA; i++) { for ..
import sys input = sys.stdin.readline A = input().strip() B = input().strip() lenA = len(A)+1 lenB = len(B)+1 arr = [[0]*(lenB) for _ in range(lenA)] for i in range(1,lenA): for j in range(1,lenB): if A[i-1] == B[j-1]: arr[i][j] = arr[i-1][j-1] + 1 else: arr[i][j] = max(arr[i-1][j], arr[i][j-1]) print(arr[-1][-1]) 문제요약 첫번째 문자열과 두번째 문자열의 부분 수열이 되는 것 중 가장 긴 것을 찾아라. 설명 일치하는 문자를 구하라는 문제가 아니라 부분 수열이 ..