전체 글 34

[Git] 소규모 프로젝트에 적합한 Branch 전략, GitHub-Flow

✏️ 2026.02.04 (수)그동안 Git을 주로 백업 용도로만 사용해왔고, 다양한 기능을 적극적으로 활용해보지는 못했다.그래서 현재 혼자 진행 중인 AI 챗봇 ‘만두’ 프로젝트에서 바로 적용할 수 있는 것부터 하나씩 차근차근 공부하며 적용해보려고 한다.오늘은 그 첫 단계로, Git Branch 전략에 대해 알아보고 정리해보려 한다. Git Branch 전략에는 대표적으로 Git-Flow / GitHub-Flow / GitLab-Flow, 이렇게 총 세 가지가 있다.현재 진행 중인 프로젝트는 혼자 개발하는 소규모 프로젝트인 만큼, 브랜치 관리에 많은 에너지를 들이고 싶지는 않았다.그래서 세 가지 전략을 비교해본 결과, 가장 단순하다고 느껴진 GitHub-Flow 전략을 먼저 살펴보고 정리해보았다.앞으..

💻 Dev Log 2026.02.05

[Programmers] 154539. 뒤에 있는 큰 수 찾기 (java)

https://school.programmers.co.kr/learn/courses/30/lessons/154539  문제 파악주어진 정보/입력자신보다 크면서 가장 가까이 있는 수를 뒷 큰수라고 한다.입력: 정수 배열 numbers해결해야 하는 문제모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 return하기단, 뒷 큰수가 존재하지 않는 원소는 -1을 담는다.  문제 풀이Stackimport java.util.*;class Solution { public int[] solution(int[] numbers) { int N = numbers.length; int[] answer = new int[N]; Stack stack = new Stack(..

💯 Algorithm 2025.03.28

[Programmers] 155651. 호텔 대실 (java)

https://school.programmers.co.kr/learn/courses/30/lessons/155651  문제 파악주어진 정보/입력코니는 최소한의 객실만을 사용하여 예약 손님들을 받으려고 한다.한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소를 하고 다음 손님들이 사용할 수 있다.입력: 예약 시각이 문자열 형태로 담긴 2차원 배열 book_timebook_time[i]는 [대실 시작 시각, 대실 종료 시각] 형태해결해야 하는 문제코니에게 필요한 최소 객실의 수를 return하기 문제 풀이Greedy + Priority Queueimport java.util.*;class Solution { public int solution(String[][] book_time) { ..

💯 Algorithm 2025.03.28

[Programmers] 172927. 광물 캐기 (java)

https://school.programmers.co.kr/learn/courses/30/lessons/172927  문제 파악주어진 정보/입력각 곡괭이로 광물을 캘 때의 피로도가 표로 주어진다.광물은 주어진 순서대로만 캘 수 있다.한 곡괭이를 선택하면, 해당 곡괭이로 광물 5개를 연속으로 캐야 한다.광산에 있는 모든 광물을 캐거나, 더 사용할 곡괭이가 없을 때까지 광물을 캔다.입력값: 마인이 갖고 있는 곡괭이의 개수를 나타내는 정수 배열 picks와, 광물들의 순서를 나타내는 문자열 배열 minerals제한사항: picks는 [dia, iron, stone]과 같은 구조로 이루어져 있다.해결해야 하는 문제마인이 작업을 끝내기까지 필요한 최소한의 피로도를 return 문제 풀이Greedyimport ja..

💯 Algorithm 2025.03.24

[Programmers] 176962. 과제 진행하기 (java)

https://school.programmers.co.kr/learn/courses/30/lessons/176962  문제 파악주어진 정보/입력입력값: 과제 계획을 담은 이차원 문자열 배열 plans해결해야 하는 문제과제를 끝낸 순서대로 이름을 배열에 담아 return 문제 풀이Greeady + Stackimport java.util.*;class Solution { public String[] solution(String[][] oldPlans) { int N = oldPlans.length; Plan[] plans = new Plan[N]; for (int i = 0; i (p1.start - p2.start)); ..

💯 Algorithm 2025.03.21

[Backjoon] 1238. 파티 (java)

https://www.acmicpc.net/problem/1238  문제 파악주어진 주요 정보/입력값입력값: 학생 수 N, 단방향 도로의 수 M, 파티 장소 X, M개의 도로 정보 (시작점 from, 끝점 to, 이 도로를 지나는데 필요한 소요시간 time)N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다.이 학생들은 워낙 게을러서 최단 시간에 오고 가기를 원한다.이 도로들은 단방향이기 때문에 아마 그들이 오고 가는 길이 다를지도 모른다.해결해야 하는 문제/출력값출력값: N명의 학생들 중 오고 가는데 가장 오래 걸리는 학생의 소요시간 문제 풀이Dijkstrapackage main.java.Backjoon;import java.io.BufferedReader;import java.io.IOEx..

💯 Algorithm 2025.03.13

[Programmers] 178870. 연속된 부분 수열의 합 (java)

https://school.programmers.co.kr/learn/courses/30/lessons/178870#  문제 파악주어진 정보/입력값입력오름차순으로 정렬된 수열 sequence과 조건을 만족하는 부분 수열의 합 k기존 수열에서 임의의 두 인덱스의 원소와 그 사이의 원소를 모두 포함하는 부분 수열이어야 한다.해결해야 하는 문제합이 k인 부분 수열의 시작 인덱스와 마지막 인덱스를 배열에 담아 return해야 한다.합이 k인 부분 수열이 여러 개인 경우 길이가 짧은 수열을 찾는다.길이가 짧은 수열이 여러 개인 경우 앞쪽(시작 인덱스가 작은)에 나오는 수열을 찾는다. 문제 풀이Two Pointerclass Solution { public int[] solution(int[] sequence,..

💯 Algorithm 2025.03.11

[Programmers] 118669. 등산코스 정하기 (java)

https://school.programmers.co.kr/learn/courses/30/lessons/118669  문제 파악주어진 정보/입력값등산코스를 따라 이동하는 중 쉼터 혹은 산봉우리를 방문할 때마다 휴식을 취할 수 있다.휴식 없이 이동해야 하는 시간 중 가장 긴 시간을 해당 등산코스를 intensity라고 부른다.당신은 XX산의 출입구 중 한 곳에서 출발하여 산봉우리 중 한 곳만 방문한 뒤 다시 원래의 출입구로 돌아오는 등산코스를 정하려고 한다. 당신은 이러한 규칙을 지키면서 intensity가 최소가 되도록 등산코스를 정하려고 한다.입력값XX산의 지점 수 n각 등산로의 정보를 담은 2차원 정수 배열 paths출입구들의 번호가 담긴 정수 배열 gates산봉우리들의 번호가 담긴 정수 배열 sum..

💯 Algorithm 2025.03.11

[Programmers] 181188. 요격 시스템 (java)

https://school.programmers.co.kr/learn/courses/30/lessons/181188  문제 파악주어진 정보/입력값입력: 각 폭격 미사일의 x 좌표 범위 (s, e)의 목록 targetA 나라가 발사한 폭격 미사일은 x축에 평행한 직선 형태의 모양 (s, e) 형태로 표현된다.B 나라는 특정 x 좌표에서 y축에 수평이 되도록 미사일을 발사하며, 발사된 미사일은 해당 x 좌표에 걸쳐있는 모든 폭격 미사일을 관통하여 한 번에 요격할 수 있다.0 ≤ s 100,000,000해결해야 하는 문제모든 폭격 미사일을 요격하기 위해 필요한 요격 미사일 수의 최솟값을 return하기 문제 풀이Greedyimport java.util.Arrays;class Solution { publ..

💯 Algorithm 2025.03.06