본문 바로가기

분류 전체보기30

스프링부트 프로젝트를 도커를 이용하여 배포해 보자! 도커란 어플리케이션을 패키징 할 수 있는 툴 컨테이너에 어플리케이션, 시스템 툴, 환경 설정, dependancy들을 하나로 묶어 어디에서나 쉽게 배포하고 안정적인 구동을 할 수 있도록 도와줌 Docker Object Image Docker Container를 만들기 위한 읽기 전용 템플릿 이미지는 몇 가지의 추가적인 사용자 정의와 함께 다른 이미지를 기반으로 한다. 타인이 만들어서 레지스트리에 게시한 이미지를 사용하거나, 직접 이미지를 만들 수 있다. 이미지를 빌드하기 위해서는 Dockerfile를 이용하여 이미지를 만들고 실행하는데 필요한 단계를 정의해야 한다. Dockerfile 이미지에 레이어를 만든다. Dockerfile 변경하고 이미지를 재빌드하면 변경된 레이어만 다시 빌드된다. 이는 다른 가.. 2023. 12. 29.
자바 - 백준 12015 / 가장 긴 증가하는 부분 수열2 https://www.acmicpc.net/problem/12015 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net 골드2 구현 방법 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이므로 DP로 풀 경우 O(n^2)의 시간복잡도를 가지므로 런타임 에러가 발생한다. 따라서 이 문제의 경우, 이분 탐색으로 구현해야 한다. 하지만 여기서 이해가 안되는 부분이 생겼다. 예를 들어서 5 6 2 7이라는 수열이 있다고 하자. 이 경우 이분 탐색으로 구현 하면 순서는 다음과 같다. 1. 5 2. 5 6 3. 2 6 .. 2023. 7. 21.
자바 - 백준 14889 / 스타트와 링크 https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 실버 2 구현 방법 처음에 보고 재귀로 풀어야 겠다는 생각이 들어서 바로 풀었지만 시간 초과가 났다. 생각해보니 문제는 조합을 의도한거였는데 순열로 풀어서 시간 초과가 난거였다. 구현 자체는 간단하다. 1. n명의 사람들 중 반을 조합으로 선택한다. 2. 조합으로 선택된 사람들의 능력치를 구한다 3. 차이값을 계산하여 최소값인 경우 저장한다. 코드 import java.io.BufferedReader; import j.. 2023. 7. 17.
자바 - 백준 17144 / 미세먼지 안녕! https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 골드 4 구현 방법 구현 문제라서 문제부터 간단하게 요약했다. plate -> r * c 공기청정기 = 1번열(c) 설치, 두행(r) 차지한다 미세먼지 양 = A(r, c) a. 미세먼지 모든칸 동시에 확산, 네방향으로 인접한 방향에 공기청정기 있거나 칸없으면 확산 x 확산 양 : a(r,c) / 5 소수점 버리기 (r,c)에 남은 양 : a(r, c) - a(r,c)/5 * (확산 방향 개수).. 2023. 7. 4.