분류 전체보기(472)
-
dp 백준 11053, 11054 가장 긴 증가하는 부분 수열
LIS 알고리즘 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. www.acmicpc.net 문제는 간단하다. 아래와 같은 수열 중 부분수열 중 길이가 증가하면서 가장 긴 부분수열을 구하는 문제이다. {10, 20, 10, 30, 20, 50} => {10, 20, 30, 50} 푸는 방법이 이진 탐색을 사용하여 O(nlogn)이 걸리는 방법 dp를 사용하는 방법O(n^2) ..
2020.02.01 -
dp 백준 2156 포도주 시식
dp 백준 2156 포도주 시식 https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다. 포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다. 연속으로 놓여 있는 3잔을 모두 마실 수는 없다. 효주는 될 수 있는 대로 많은 양의 포도주를 맛보기 위해서 어떤 포도주 잔을 선택해야 할지 고 www.acmicpc.net 포도주 시식은 유명한 dp문제이다. 풀어본 느낌상 이전의 계단 오르기와 매우 비슷한 문제였다. htt..
2020.02.01 -
dp 백준 쉬운 계단 수 10844
dp 백준 쉬운 계단 수 10844 https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 이 문제는 자리수를 입력받아 그 자리수 중 각 수의 차이가 1씩 차이가 나는 수의 개수를 찾는 것이다. 예를들어 1자리수 중에는 아래와같이 9개로 나타낼 수 있다. 1 2 3 4 5 6 7 8 9 2자리수 중에는 아래와 같이 17개로 나타낼 수 있다. 10 21 32 43 54 65 76 87 98 12 23 34 45 56 67 78 89 여기서 공통되는 패턴이 보이는데 앞자리의 +-1의 값이 1씩 차이나는 계단수가 된다. 그러나 주의할 점이 있다. 끝이 0이거나 9인 수는..
2020.02.01 -
docker file 작성
Docker file 작성 이미지 생성하는 방법 개발한 애플리케이션을 컨테이너화할 때 이전까지는 아래의 방법과 같이 진행했습니다. 아무것도 존재하지 않는 이미지(ubutu, Centos 등)로 컨테이너를 생성 애플리케이션을 위한 환경을 설치하고 소스코드 등을 복사해 잘 작동하는 것을 확인 컨테이너를 이미지로 커밋(commit) 이 방법을 사용하면 어플리케이션이 동작하는 환경을 구성하기 위해 일일이 패키지를 설치하고 코드를 복사해야합니다. 물론 직접 컨테이너에서 애플리케이션을 구동해보고 이미지로 커밋하기 때문에 정확하다는 장점이 있습니다. docker는 위 과정을 손쉽게 기록하고 수행할 수 있는 build 명령어를 제공합니다. 하나의 파일에 설치해야하는 패키지, 소스코드, 명령어 등을 build 명령어를 ..
2020.01.31 -
docker image 배포
docker image 배포 이전 글과 같이 image를 배포하기 위해 save 및 load를 사용하여 tar파일로 만들어 배포할 수 있지만 옮기는데 귀찮고 파일이 크거나 도커 엔진의 수가 많다면 이미지를 파일로 배포하기 어렵습니다. 또한 도커의 이미지 구조인 레이어 형태를 이용하지 않으므로 비효율적입니다. 이를 해결하기 위한 방법은 1. docker hub private 제한이 있지만 public으로 단순하게 psuh, pull 하면되어 매우 간단하게 사용할 수 있습니다. 이미지 저장소(Reooisutiry) 생성 docker hub에 접속한 다음 https://hub.docker.com/ 로그인 하면 아래와 같이 보입니다. 여기서 create Repository를 눌러주면 아래와 같이 이름, 설명등과..
2020.01.31 -
docker 이미지
docker 이미지 지금까지 우리가 만들어온 컨테이너는 이미지를 기반으로 만들어진다. 컨테이너에서 무슨일을 하던 기반이 되었던 이미지에는 영향을 끼치지 않는다. 우리가 npm, apt-get install은 npm 레퍼지토리 apt 레퍼지토리 등에서 다운 받습니다. docker도 마찬가지로 docker hub라는 곳에서 이미지를 다운받습니다. 이 이미지는 공식적으로 인정받은 이미지 부터 개인 개발자가 올리고 다운받을 수 있습니다. 그리고 git과 비슷하게 개인의 이미지를 private로 올릴 수 있습니다. 하지만 하나의 공간만이 무료이고 나머지는 유료라서 주의 하셔야합니다. 직접 https://hub.docker.com/ Docker Hub Docker Certified:Trusted & Supporte..
2020.01.31