[트러블슈팅] Github Action을 이용한 CICD
·
여러가지/오류
개요CI/CD 파이프라인 구축 과정에서 발생한 다양한 실수와 오류, 문제의 원인, 그리고 이를 해결한 방법에 대해 상세하게 설명합니다. 주된 목적은 GitHub Actions를 활용하여 애플리케이션의 자동화된 빌드, 테스트, 배포 파이프라인을 구축하는 것입니다. 본 보고서는 구축 과정에서 발생한 문제들을 체계적으로 정리하여 유사한 프로젝트를 진행하는 개발자들에게 도움이 되고자 합니다.실수 사항, 문제의 원인 및 해결 방법Docker 빌드 오류: JAR 파일을 찾을 수 없음오류 메시지: failed to calculate checksum of ref ... lstat /tmp/buildkit-mount.../build/libs: no such file or directory문제의 원인: Docker 빌드 ..
[항해99 취업리부트 TIL] 4주차 3일
·
스케쥴/스터디
학습한 내용은 무엇인가요?동적 프로그래밍(DP) 알고리즘 개요DP는 문제를 작은 하위 문제로 나누어 해결한 후 그 결과를 결합하여 원래 문제를 해결하는 기법이다.두 가지 특징:중복되는 하위 문제최적 부분 구조구현 방식:탑다운(메모이제이션)바텀업(테이블화)피보나치 수열피보나치 수열은 DP의 대표적인 예제이다.점화식: F(n) = F(n-1) + F(n-2)초기 조건: F(0) = 0, F(1) = 1탑다운 방식재귀와 메모이제이션을 이용해 구현.중복 계산을 피하기 위해 이미 계산된 결과를 저장.int[] memo = new int[n + 1]; 배열을 -1로 초기화.fib(n, memo) 함수 호출:if (n if (memo[n] != -1) return memo[n];memo[n] = fib(n - 1, ..
[백준] 가장긴감소하는부분수열 - 11722번
·
여러가지/알고리즘 & 자료구조
가장 긴 감소하는 부분 수열1 초256 MB35656220881816962.951%문제수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} 이고, 길이는 3이다.입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000)이 주어진다.둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000)출력첫째 줄에 수열 A의 가장 긴 감소하는 부분 수열의 길이를 출력한다.예제 입력 1 복사610 30 10 20 20 10예제 출력 1 복사3코드package 가장긴감소하는부분수열;import java...
[백준] 부녀회장이될테야 - 2775번
·
여러가지/알고리즘 & 자료구조
부녀회장이 될테야 0.5 초 (추가 시간 없음)128 MB104395590145008757.510% 문제평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다.이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다.아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다.입력첫 번째 줄..
[백준] 핸드폰 번호 궁합 - 17202번호
·
여러가지/알고리즘 & 자료구조
핸드폰 번호 궁합 2 초256 MB35332684238377.622%문제어린시절 다들 한 번씩은 이름으로 궁합을 본 적이 있을 것이다. 이것과 비슷한 방식으로 중앙대학교에는 핸드폰 번호 궁합을 보는 것이 유행이라고 한다.핸드폰 번호 궁합을 보기 위해서는 먼저 궁합을 보고싶은 두 중앙대생 A와 B의 핸드폰 번호에서 맨 앞의 010과 "-"(하이픈)을 모두 제외한 후, A부터 시작하여 한 숫자씩 번갈아가면서 적는다. 그리고 인접한 두 숫자끼리 더한 값의 일의 자리를 두 숫자의 아래에 적어나가면서 마지막에 남는 숫자 2개로 궁합률을 구하게 된다.예를 들어, 아래의 그림과 같이 A의 번호가 010-7475-9336 이고, B의 번호가 010-3619-5974 이면, 7346715995393764에서 시작하여 0..
[백준] 가장 긴 증가하는 부분 수열 - 11053번
·
여러가지/알고리즘 & 자료구조
가장 긴 증가하는 부분 수열1 초256 MB169140679584509838.082%문제수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다.입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000)이 주어진다.둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000)출력첫째 줄에 수열 A의 가장 긴 증가하는 부분 수열의 길이를 출력한다.예제 입력 1 복사610 20 10 30 20 50예제 출력 1 복사4가장 긴 증가하는 부분 수열(LIS, Longest Incr..
DP(Dynamic Programming) 핥아보기
·
여러가지/알고리즘 & 자료구조
동적 프로그래밍(Dynamic Programming, DP) 알고리즘은 문제를 작은 하위 문제들로 나누어 해결한 다음, 그 결과를 결합하여 원래의 문제를 해결하는 기법입니다. DP는 주로 다음 두 가지 특징을 가진 문제에 사용됩니다:중복되는 하위 문제:동일한 하위 문제가 여러 번 반복해서 계산되는 경우.최적 부분 구조:문제의 최적 해가 하위 문제들의 최적 해로 구성될 수 있는 경우.DP 알고리즘은 크게 두 가지 방식으로 구현됩니다:탑다운(메모이제이션, Memoization):재귀를 사용하여 문제를 푸는 방식입니다.이미 계산된 하위 문제의 결과를 저장해두고, 동일한 하위 문제가 다시 등장할 때 저장된 값을 재사용합니다.이 방식은 재귀 호출로 인해 스택 오버플로우가 발생할 수 있으므로 주의가 필요합니다.바텀..
[항해99 취업리부트 TIL] 4주차 3일
·
카테고리 없음
### 학습한 내용 🧑‍💻1. **그리디 알고리즘(Greedy Algorithm)**:   - 각 단계에서 최적의 선택을 하여 최종 해답에 도달하는 근시안적인 방법론.   - 주요 속성:     - **탐욕 선택 속성(Greedy Choice Property)**: 각 단계의 최적 선택이 전체 최적해를 보장함.     - **최적 부분 구조(Optimal Substructure)**: 전체 문제의 최적해가 부분 문제의 최적해로 구성됨.   - 주요 예시:     - **거스름돈 문제**: 가장 큰 동전부터 선택하여 거스름돈을 최소 동전 개수로 계산.     - **체육복 문제**: 체육복을 잃어버린 학생들에게 여벌 체육복을 빌려주는 문제.   - 그리디 알고리즘이 항상 최적해를 보장하지 않는 경우도 ..