https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net ✏️ 문제 🔐 문제 해결 1. 테이블 정의하기 테이블은 dp[i]를 1,2,3으로 표현할 수 있는 횟수로 설정하겠습니다. 2. 점화식 구하기 먼저 dp[4]는 본문에도 나와있듯이 아래와 같이 총 7가지가 있습니다. 이것을 1, 2, 3으로 나눠서 생각해보자면, 하나의 숫자를 3로 고정하고, 나머지 1을 1, 2, 3으로 조합하는 경우 1 + 3 하나의 숫자를 2로 고정하고, 나머지 2를 1, 2, 3으로 조합하는 경우 1 + 1 + 2 2 + 2 하나의 숫자를 1로 고정하고, 나머지 3을 1, ..
https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net ✏️ 문제 🔐 문제 해결 다이나믹 프로그래밍은 아래 세가지 순서를 따라서 문제를 풀이합니다. 테이블 정의하기 점화식 찾기 초기값 설정 1. 테이블 정의하기 테이블의 값은 당연히 i의 최소 연산 횟수가 되겠습니다. 2. 점화식 찾기 i를 계산하는 방법은 총 3가지가 있습니다. 2로 나눈 나머지가 0일 경우, 2로 나눈다. 3으로 나눈 나머지가 0일 경우, 3으로 나눈다. 1을 뺀다. i의 최소 연산 횟수를 저장하는 배열을 dp라고 정의할 때, dp[i]의 값은 아래와 같습니다. dp[i] = Math.min(dp..
GitLab의 Merge 3가지 정책에 대해서 배워보겠습니다. Merge Request - Merge 정책 3가지 Merge Commit Merge Commit with semi-linear history Fast-Forward merge 현재 커밋 로그 (가정) 현재 커밋 로그가 위 사진과 같다고 생각해보고 3가지 정책을 실행해 보도록 하겠습니다. 1. Merge Commit 우리가 흔히 알고 있는 Merge 입니다. 특징 commit history 모양에 상관없이 항상 Merge가 허용됩니다. 항상 새로운 commit을 생성하면서 Merge가 이뤄집니다. 장점 어디서 branch가 갈라졌고, 어디서 합쳐졌는지 빠짐없이 기록됩니다. 전체 작업의 정확한 history를 볼 수 있습니다. 단점 개발 규모가..
Terminal에서 JSON 데이터를 예쁘게 출력하는 방법 설치하기 Mac OS $ brew install jq Ubuntu $ apt install jq Terminal에서 일반적인 JSON 데이터 출력 jq를 이용한 JSON 출력 ✨ REFERENCES jq - 명령행 JSON 처리기 사용법 www.lesstif.com
Fork 란? Fork 는 저장소를 복제하는 것을 의미합니다. A라는 사람이 개발하던 저장소에 B라는 사람이 협업을 하여 개발을 진행한다고 가정을 해보겠습니다. 그렇다면 A라는 사람의 저장소를 B라는 사람이 $ git clone 을 하여 코드를 수정하고 push를 한다면 혹시 코드에 오류가 있다면 치명적인 오류가 발생할 수 있습니다. 이를 방지하기 위해서 Fork라는 것을 합니다. 원본 프로젝트를 Clone 하는 것이 아니라 그 프로젝트를 Fork 하여 복제된 프로젝트에서 작업을 하고 해당 작업을 원본 프로젝트에 반영해달라고 Merge Request를 보내는 것입니다. Clone 이란? Clone은 저장소의 코드를 내 working directory에 복사 하는 것을 의미합니다. $ git clone {..
Merge $ git merge {branch_id} : 현재 HEAD가 가리키고 있는 branch에 branch_id에서 했던 작업들을 합쳐라는 뜻입니다. Branch로 개발 흐름을 쪼개서 개발을 했다면 언젠가는 이 쪼개진 흐름들을 다시 합쳐야 할 순간이 올 것입니다. 예를들면 서비스를 배포해야 한다거나 등등 .. 쪼개진 Branch들을 합치는 것을 바로 Merge라고 합니다. Merge 하기 전 확인 $ git merge {합치고 싶은 branch} 이전에 Branch 이해하기에서 사용했던 프로젝트의 커밋 히스토리를 살펴보겠습니다. $ git log --all --graph 현재 HEAD가 Func-B를 가리키고 있고, develop 브랜치에서 Func-A 와 Func-B 이렇게 두 갈래로 흐름이 쪼..