본문 바로가기

분류 전체보기135

[백준] 9084. 동전 / Java https://www.acmicpc.net/problem/9084 9084번: 동전 우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는 www.acmicpc.net 문제 풀이 주어진 동전들로 목표 금액 M을 만들 수 있는 경우의 수를 찾아내는 문제이다. 일차원 dp 배열을 활용하여 각 금액에 대한 경우의 수를 갱신해나가는 방식으로 풀이할 수 있다. dp[i] = j 일 때, 금액 i를 만들 수 있는 경우의 수는 j라는 의미이다. 예를 들어, 동전의 종류가 1, 2 세 가지가 있고 목표 금액이 10인 경우를 생각해보자. 먼저 1짜리 동전만 사용.. 2023. 6. 21.
[백준] 11758. CCW / Java https://www.acmicpc.net/problem/11758 11758번: CCW 첫째 줄에 P1의 (x1, y1), 둘째 줄에 P2의 (x2, y2), 셋째 줄에 P3의 (x3, y3)가 주어진다. (-10,000 ≤ x1, y1, x2, y2, x3, y3 ≤ 10,000) 모든 좌표는 정수이다. P1, P2, P3의 좌표는 서로 다르다. www.acmicpc.net 문제 풀이 이 문제는 두 벡터의 외적을 구하는 공식으로 풀 수 있는 문제이다. 일명 '신발끈 공식'으로 (빨간색 빗금으로 이어진 것들의 곱의 합) - (파란색 빗금으로 이어진 것들의 곱의 합) 이다. 즉, 아래와 같은 식이다. (x1*y2 + x2*y3 + x3*y1) - (y1*x2 + y2*x3 + y3*x1) 계산 결과가 양.. 2023. 6. 20.
[백준] 9663. N-Queen / Java https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 풀이 이 문제는 크기가 N * N인 체스판 위에 퀸 N 개를 서로 공격할 수 없게 놓는 경우의 수를 구하는 문제이다. 기본적으로 BruteForce 유형이나 isPromising()과 같은 메서드를 활용하여 가망이 없는 경로를 가지치기 하며 진행하는 BackTracking 기법이 가미되어 있다. 우선 눈여겨 볼 점은 이 차원으로 이루어진 체스판을 일 차원 배열(board[])로 바꾸어 생각한다는 것이다. 배.. 2023. 6. 14.
[Jenkins] Jenkins를 통한 배포 시 application.yml 내 환경변수 처리 개요 SpringBoot 프로젝트의 application.yml 파일에는 각종 외부 접속에 필요한 정보(URL, 계정정보 등)가 포함되어 있다. 이를 GitHub에 그대로 업로드한다면 민감한 정보가 노출되어 보안 상 문제가 되므로 아래와 같이 주요 정보들을 환경변수(${} 로 감싸져 있는 부분)로 처리해주었다. 그리고 Jenkins를 통해 해당 프로젝트를 빌드할 때, 환경변수로 처리한 부분들에 대한 정보를 주입할 수 있도록 빌드 환경 설정을 해준다. application-prod.yml server: servlet: encoding: force: true charset: UTF-8 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: .. 2023. 6. 13.