[BOJ 11657] 타임머신
·
Coding Test/Problem Solving
11657번: 타임머신 첫째 줄에 도시의 개수 N (1 ≤ N ≤ 500), 버스 노선의 개수 M (1 ≤ M ≤ 6,000)이 주어진다. 둘째 줄부터 M개의 줄에는 버스 노선의 정보 A, B, C (1 ≤ A, B ≤ N, -10,000 ≤ C ≤ 10,000)가 주어진다. www.acmicpc.net 1. 문제 설명 예제 입력 2의 경우 4 > -4 > -2 루프를 반복하면 무한대로 작아지기 때문에 -1을 출력한다. 예제 입력 3의 경우 1번 도시와 3번 도시가 연결되어 있지 않으므로 2번째 줄에 -1을 출력한다. 2. 구현 아이디어 1 - 출력 초과 C < 0인 경우, 즉 음의 간선이 있기 때문에 벨만 포드 알고리즘을 사용한다. 벨만 포드는 음의 간선이 존재할 때 사용하는 최단 거리 알고리즘이다. ..
[BOJ 1932] 정수 삼각형
·
Coding Test/Problem Solving
1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 1. 문제 설명 위 예제이서는 7 - 3 - 8 - 7 - 5 를 선택했을 때가 최대가 되는 경로이므로, 수들의 합인 30을 출력한다. 2. 구현 아이디어 1 - 맞았습니다 !! DP가 적용될 수 있는 조건은 동일한 작은 문제들이 반복하여 나타나는 경우 부분 문제의 최적 결과 값을 사용해 전체 문제의 최적 결과를 나타낼 수 있는 경우 이다. 윗 줄에서 구한 합을 현재 줄에서의 최댓값을 구하는데 사용하며(1번 조건 충족), 윗 줄에서 구한 합에 따라 현재 줄에서의 수의 합이 달라지므로(2번 조건 충족) DP를 사용해서 풀 수 있다. D..
[Packy] Docker Compose로 로컬 DB 개발환경 구축하기 - MySQL, Redis
·
Infrastructure/Docker & k8s
1. 들어가며 이전 포스트에서 도커로 MySQL을 띄우는 방법에 대해 알아보았다. [Packy] Docker로 MySQL 띄우고 Spring Boot에 연동하기 0. 들어가며 이전까지는 로컬 DB 환경으로 H2 데이터베이스를 사용하였다. 그러다 소프트웨어 마에스트로 과정을 하며 멘토님께서 'H2는 MySQL과 다른 데이터베이스이기 때문에 문법 차이 등으로 leeeeeyeon-dev.tistory.com 패키 프로젝트에서는 메인을 MySQL로 사용하고, Refresh 토큰 관리나 캐싱 등에 Redis를 사용할 예정이다. 참고로 명령어를 통해 Redis를 띄우는 방법은 아래와 같다. # 터미널 1 # 1. image pull docker image pull redis # 2. redis 실행 docker r..
[BOJ 16938] 캠프 준비
·
Coding Test/Problem Solving
16938번: 캠프 준비 난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다. www.acmicpc.net 1. 문제 설명 2. 구현 아이디어 1 - 맞았습니다 !! 최근 비트마스킹에 익숙해지고자 비트마스킹 유형 문제들을 모아서 풀고 있다. 비트마스킹을 사용한다는 것을 알면 쉽게 풀 수 있다. N=4일 때, 0001: 1번 문제를 고름 0010: 2번 문제를 고름 0011: 1, 2번 문제를 고름 0100: 3번 문제를 고름 . . . 이런 식으로 경우의 수를 정수로 표현한다. 그리고 반복문을 사용하여 AND 연산을 사용해서 만약 i번째 자리(뒤에서 시작하며 0부터 시작)가 1일 경우, 해당 문제를 벡터에 저장해둔다. 그리고 원소들의 합, 최댓값, 최솟값을 구해 주어진 조건에 맞으..
[Packy] 멀티 모듈 프로젝트에서 서로 다른 모듈의 의존성 주입하기
·
Spring
1. 들어가며 이전 포스트에서 멀티 모듈 프로젝트를 생성해보았다. [Packy] 멀티 모듈 프로젝트 생성하기 저번 포스트에서 멀티 모듈의 개념, 사용하는 이유, 어떻게 구성하는지에 대해 알아보았다. 멀티 모듈이 무엇이고, 왜 사용할까? 1. 멀티 모듈이란? Java에서 모듈이란 패키지의 한 단계 위의 집합 leeeeeyeon-dev.tistory.com 본격적으로 개발을 시작하며 Controller나 Service 코드는 api 모듈에서 관리하고, Entity나 Repository 코드는 domain 모듈에서 관리하고 있다. 그러다보면 api 모듈에서 domain 모듈의 코드가 필연적으로 필요하고, 모듈 간 의존성을 주입해주어야 하는 일이 생긴다. 이번 포스트에서는 멀티 모듈 프로젝트에서 한 모듈에 다른..
[Packy] API 공통 응답 포맷 만들기 - 정상 응답인 경우& 예외 처리 응답인 경우
·
Spring
1. 들어가며 클라이언트 단에서는 백엔드에서 개발한 API Response를 토대로 데이터 모델이라는 것을 만들어 화면에 데이터를 출력한다. 만약 통일된 규격의 API Response가 없으면 클라이언트 개발자들은 API마다 데이터 모델을 일일이 만들어야 한다. 그러므로 백엔드에서는 어느 정도 통일된 양식의 API를 전달해주는 것이 좋다. 이번 포스트에서는 정상(200)인 경우와 예외 처리의 경우에 대해 공통 Response 포맷을 만드는 과정을 알아보자. 2. 공통 응답 포맷 정상 응답 정상 응답일 경우에는 아래와 같은 형태의 응답 포맷을 만드는 것이 목표이다. code와 message는 각각 에러가 발생할 경우 에러를 구분하는 에러 코드와 에러에 대한 설명이며 정상 응답일 경우 S000과 OK로 일정..
짱정연
'분류 전체보기' 카테고리의 글 목록 (8 Page)