TDD란? Test Driven Devleopmen의 약자로, 일반적인 개발의 흐름인 코드를 작성한 뒤, 테스트를 한다가 아닌, (실패할) 테스트 코드를 먼저 잓어하고, 해당 테스트를 통과하는 최소한의 코드를 작성 한 뒤 리펙토링을 진행하는 형태의 개발 방법론입니다. 유닛 테스트 코드를 먼저 작성하고 연습을 통해 요구사항에 대한 더 상세한 이해를 추가하는 개발 방법론입니다. TDD 특징 일반적인 개발의 흐름 1. 요구사항에 따른 설계 2. 코드 개발 3. 테스트 TDD의 개발의 흐름 1. 요구사항 기반 테스트 작성 2. 테스트를 통과하는 코드 작성 3. 통과한 코드의 품질 향상 4. (요구사항에 대한 향상된 이해를 바탕으로) 테스트를 기반으로 설계 수정 RED 아직 작성되지 않은 기능에 대한 테스트 코드..
12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 문제 풀이 방법: 배낭이 가질 수 있는 최대의 무게와, 각각의 아이템을 넣었는지, 넣지 않았는지를 기준으로 dp 배열을 만듭니다. 각 열(i)은 물건을, 각 행(j)은 가방으 ㅣ일부분의 무게라고 가정하고 표를 채워나갈 때, 현재 고려중인 물건을 넣을 수 있는 무게에 도달하면 해당 물건을 넣고 남는 공간의 최대 가치를 채우거나, 아니면 넣지 않고 이전에 넣을 수 있는 무게의 최댓값으로 표를 채워나가면..
11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class boj11660 { public void solution() throws IOException { BufferedReader reader = new Buffered..
9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 문제코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; // Boj 9465 public class Main { public void solution() throws IOException { BufferedReader reader = new BufferedReader( ne..
1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class boj1912 { public int solution() throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System..
15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class boj15652 { private int n; private int m; private int[] arr; private StringBuilder answer; public void solution() t..