전체 글
[백준 - 1541] 잃어버린 괄호 [C++]
1. 문제 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 2. 풀이 첫 번째 '-' 연산자가 나타날 때까지는 모든 숫자들을 더하고, 첫 번째 '-' 연산자가 나타난 이후의 모든 숫자들은 빼주면 된다. 3. 코드 #include #include #include using namespace std; string expression; string number; int answer; bool isNegative = false; // 1541 /..
[CI/CD] Elastic Beanstalk + Github Actions + Spring Boot CI/CD 적용기
⚙️ 개요 지난 몇 개월간, 여러 사이드 프로젝트의 서버 개발자로 참여하며 대부분의 서버의 배포파이프라인을 글의 제목처럼 Elastic Beanstalk + Github Actions 방식으로 구축했었습니다. ( 자취방 리뷰 서비스, 이룸 / AI 뉴스 리더, 브리핑 많이 구경해주세요!!!🍀) 이번 글에서는 Elastic Beanstalk 환경 설정보다는 스크립트 위주로 작성할 예정입니다. Elastic Beanstalk 관련해서는 다음에 추가적으로 글을 작성하겠습니다. ♻️ 브랜치 전략과 배포 요구사항 이룸이라는 프로젝트 팀에서는 아래와 같은 브랜치 전략을 갖고 있었습니다. master ← 운영 서버에 배포되어있는 브랜치 release ← 다음 릴리즈에 나갈 기능들이 포함되어있는 브랜치 develop ..
[백준 - 15829] Hashing [C++]
1. 문제 https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 2. 풀이 NOTE - ans에서 곱할때 a와 r^i를 곱할때 int 범위를 벗어날 수 있으므로 long long int로 해주어야한다. 나머지 연산의 성질도 알고있으면 좋다.. - (A+B)%M = (A%M + B%M) % M - (AXB)%M = (A%M X B%M) % M - (A-B)%M = (A%M - B%M + M) % M ← 안 쪽에 + M을 해줘야 음수가 안 나오게 됨...
[백준 - 13335] 트럭 [C++]
1. 문제 https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net 2. 풀이 문제에 주어진대로 시뮬레이션하면 되는 문제이다. 1. 트럭을 다리에 진입시킬 수 있으면 진입시킨다. 2. 다리에서 트럭을 한 칸씩 이동시킨다. 1 - 2를 반복한 후, 오른쪽 땅에 남아있는 트럭이 없으면 다리의 트럭들을 왼쪽 땅으로 옮겨준다.. 3. 코드 #include #include #include using namespac..
[백준 - 20040] 사이클 게임 [C++]
1. 문제 https://www.acmicpc.net/problem/20040 20040번: 사이클 게임 사이클 게임은 두 명의 플레이어가 차례대로 돌아가며 진행하는 게임으로, 선 플레이어가 홀수 번째 차례를, 후 플레이어가 짝수 번째 차례를 진행한다. 게임 시작 시 0 부터 n − 1 까지 고유한 www.acmicpc.net 2. 풀이 n개의 점이 있고 m개의 간선 정보가 주어질 때, 몇 번째 간선을 연결했을 때, 사이클이 생기는 지 파악하는 문제이다. 방법) 1. 입력된 간선들을 연결할 때마다 DFS를 이용해 정점들에 대해 사이클 여부를 판별해보기 m; for(int i=0; i a >> b; if(ans == -1) { // 정답을 아직 못 찾았다면.. if(find(a) == find(b)) an..
[백준 - 23247] Ten [C++]
1. 문제 https://www.acmicpc.net/problem/23247 23247번: Ten A real estate company IC is managing a rectangular section of land. The section is divided into $mn$ segments in $m \times n$ matrix shape, where the number of rows and that of columns are $m$ and $n$, respectively. Each segment has its own price as a posi www.acmicpc.net 2. 풀이 사각형의 양 끝 점을 잡아서 사각형의 숫자들을 다 더하는 것을 반복하는 방법을 떠올리는 것이 가장 쉽다. 그러나 ..