본문 바로가기

java714

[백준, Java] 2666번, 벽장문이 이동(DP) 문제 링크 2666번: 벽장문의 이동n개의 같은 크기의 벽장들이 일렬로 붙어져 있고 벽장의 문은 n-2개만이 있다. 한 벽장 앞에 있는 문은 이웃 벽장 앞에 문이 없다면(즉, 벽장이 열려있다면) 그 벽장 앞으로 움직일 수 있다.www.acmicpc.net주의사항JAVA를 사용하여 프로그램을 사용하였습니다.백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.public class Main{ public static void main(String[] args){ }}문제 설명접근 방법이 문제에 핵심 1. 같은 크기의 벽장들이 붙어져 있으며 n-2개만 문이 존재합니다.2. 이웃 벽장의 문이 없으면 해당 방향으로 문을 이동할 수 있다.3. 사용할 벽 장문의 순서가 주어질 .. 2025. 9. 18.
[백준, Java] 14921번, 용액 합성하기(자료구조) 문제 링크 14921번: 용액 합성하기홍익대 화학연구소는 다양한 용액을 보유하고 있다. 각 용액은 -100,000,000부터 100,000,000사이의 특성 값을 갖는데, 같은 양의 두 용액을 혼합하면, 그 특성값은 두 용액의 특성값의 합이 된다.www.acmicpc.net주의사항JAVA를 사용하여 프로그램을 사용하였습니다.백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.public class Main{ public static void main(String[] args){ }}문제 설명접근 방법이 문제에 핵심 1. 두 용액을 합성하면 특성값은 두 용액의 특성값의 합이 된다.2. 두 용액을 합성하는 것은 1번 밖에 못한다.3. 오름차순으로 용액의 특성값이 주어집.. 2025. 8. 26.
[백준, Java] 1465번, 거의 소수 문제 링크 1456번: 거의 소수어떤 수가 소수의 N제곱(N ≥ 2) 꼴일 때, 그 수를 거의 소수라고 한다. 두 정수 A와 B가 주어지면, A보다 크거나 같고, B보다 작거나 같은 거의 소수가 몇 개인지 출력한다.www.acmicpc.net주의사항JAVA를 사용하여 프로그램을 사용하였습니다.백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.public class Main{ public static void main(String[] args){ }}문제 설명접근 방법이 문제에 핵심 1. 거의 소수는 소수의 N 제곱의 형태입니다.2. A보다 크거나 같고, B보다 작거나 같은 거의 소수의 개수를 결과로 출력합니다. 알고리즘 진행 순서. 1. 입력된 정보를 저장합니다... 2025. 8. 5.
테스트 환경? 이제는 컨테이너 안에 가둬둘 시간! - TestContainer Test 개요데이터 관련 작업을 진행하는 DB Query 관련 부분에 대해서 정확하게 동작하는지 확인이 필요합니다. 확인을 하기 위해서 테스트 코드를 작성하였을 때 “사용될 DB을 어떻게 할 것인가?”는 자연스럽게 고민하게 되는 내용입니다.선택할 수 있는 방법1. In-memory DB2. 독립적인 Test DB3. Local DB4. TestContainer 먼저 제가 생각하는 결론을 말씀드리자면, 환경에 맞게 선택해야 하지만 TestContainer를 고려하는 것을 추천합니다.In-memory DB프로세스의 Memory를 데이터 저장소로 사용하는 방법장점- 별도의 DB 연결이 필요하지 않다.- 메모리를 통해 데이터를 관리하기 때문에 실행속도가 빠르다.- 테스트를 진행할 때, Memory의 저장하기 때문에 종료.. 2025. 7. 21.
[백준, Java] 1722번, 순열의 순서 문제 링크 1722번: 순열의 순서1부터 N까지의 수를 임의로 배열한 순열은 총 N! = N×(N-1)×…×2×1 가지가 있다. 임의의 순열은 정렬을 할 수 있다. 예를 들어 N=3인 경우 {1, 2, 3}, {1, 3, 2}, {2, 1, 3}, {2, 3, 1}, {3, 1, 2}, {3, 2, 1}의 순서로 생각할 수 있다.www.acmicpc.net주의사항JAVA를 사용하여 프로그램을 사용하였습니다.백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.public class Main{ public static void main(String[] args){ }}문제 설명접근 방법이 문제에 핵심 1. 1 ~ N까지의 수를 임의로 배열한 순열은 N! 가지가 있다.2.. 2025. 7. 10.
BDD 패턴의 테스트 코드 작성 방식(describe-context-it, given-when-then) BDD 패턴사람은 "상태 - 행위 -결과" 기반으로 행동할 수 있다고 한다. 아래 그림처럼 고양이도 걷는 행위를 할 때에는 "상태 - 행위 - 결과"으로 표현할 수 있습니다. 사용자 또는 비즈니스 요구사항에 대한 시나리오를 행동 기반으로 자연어로 표현하는 개발과 테스트를 진행하는 방법입니다. 구체적인 시나리오에 따른 행동을 기술하고 이를 기반으로 테스트를 작성하여 사용자 행동 및 비즈니스 가치에 초점을 두고 테스트를 진행합니다. 예를 들어, 일반적인 method를 작성할 때 파라미터, 비즈니스 로직 등이 포함되어 있습니다. 해당 method가 동작하는 것이 실제 사용자 행동처럼 묘사해서 테스트 코드를 작성합니다. //DB 대신 Map으로 계좌의 금액을 관리하는 환경이라고 가정한다.// 입금하였을 때 계.. 2025. 6. 23.