본문 바로가기
728x90

분류 전체보기58

최장증가수열(LIS) 최장증가수열(LIS : Longest Incresing Subsequence) 수열이 나열되어있을 때, 그 배열 순서를 유지하면서 크기가 점진적으로 커지는 가장 긴 부분수열을 추출하는 문제 ex) 3,2,6,4,5,1 라는 수열에서 최장증가 수열은 [2,4,5] 혹은 [3,4,5]이고, 길이는 3이다 이는 어떻게 구할까? 부분집합 부분집합을 통해 증가하면서 길이가 가장 긴 수열을 구할 수도 있지만, 부분집합은 시간복잡도가 2의 n승이기 때문에 수열이 길어질수록 시간적으로 부담이된다. https://java-is-happy-things.tistory.com/8?category=1266501 [Java] 부분집합 부분집합 : 한 집합에 포함될 수 있는 모든 집합들, 부분집합의 수는 2의n승이다. [입력] 3.. 2022. 4. 6.
Knapsack알고리즘 Knapsack알고리즘 아래와 같이 n개의 물건과 각 물건i의 무게Wi와 가치Vi가 주어지고 배낭의 용량은 W일때, 배낭에 담을 수 있는 물건의 최대가치를 찾는 문제를 다뤄본다. 단, 배낭에 담은 물건의 무게 합은 배낭의용량W를 초과하지 말아야 하고, 각 물건은 1개씩만 있다. 배낭 문제를 DP로 접근해보자. 변수는 물건, 물건의무게, 물건의가치, 배낭의 용량 총 4가지 이다. 이 중 물건과 물건의 무게는 부분문제를 정의하는데 반드시 필요하다. 왜냐하면 배낭이 비어있는 상태에서 시작하여 물건을 하나씩 배낭에 담는것과 안담는것을 현재 배낭에 들어있는물건의 가치의 합에 근거하여 결정해야 하기 때문이다. 또한 물건을 배낭에 담으려고 할 경우 배낭용량의 초과여부를 검사해야 한다. W : 배낭의 용량 (vi, w.. 2022. 4. 5.
[Java] 백준16926_배열돌리기 1 https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net [문제] [입력] 4 4 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [출력] 3 4 8 12 2 11 10 16 1 7 6 15 5 9 13 14 package day05.ws; import java.util.Scanner; public class BJ16926 { publ.. 2022. 4. 2.
[Java] 백준1463_1로만들기 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net [문제] 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. [입력] 10 [출력] 3 [풀이] DP를 이용하여 풀어주었다. 0은 버릴것이기 때문에 num+1로 배열의 길이를 지정해주었다. 2번째부터, 아래와 같이 풀었다. 3으로 나누어지면, 3으로 나눈값의 인덱스와 1.. 2022. 3. 31.
[Java]백준1149_RGB거리 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net [문제] RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자. 1번 집의 색은 2번 집의 색과 같지 않아야 한다. N번 집의 색은 N-1.. 2022. 3. 31.
JSP(Java Server Page) JSP JSP란? 자바서버페이지(JSP)는 HTML 내 자바코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어이다. Java EE 스펙 중 일부로 웹 애플리케이션서버에서 동작한다. JSP 동작흐름 JSP 스크립팅 요소 JSP Scriptlet : JSP페이지에서 자바 코드를 실행할 때 사용되는 코드의 블록 ✔ 선언 - 멤버변수 선언이나 메소드를 선언 하는 영역 ✔ 스크립트릿 - Client요청 시 매번 호출 영역으로, Servlet으로 변환 시 service() method에 해당되는 영역, requset/response에 관련된 코드 구현 ✔ 표현식 - 데이터를 브라우저에 출력할 때 사용 ✔ 주석 - 코드 상 부가설명을 작성 JSP 지시자 (Directive) 속성 .. 2022. 3. 26.
728x90