일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 모던자바
- programmers
- BFS
- 백트래킹
- DFS
- DP
- 스프링
- 운영체제
- 코틀린
- Spring
- Brute-force
- 백준
- Java8
- java
- 알고리즘
- kotlin
- 프로젝트
- TDD
- backtracking
- 자료구조
- baekjoon
- OS
- 그래프
- 네트워크
- back-end
- algorithm
- 자바
- 프로그래머스
- lambda
- LEVEL2
- Today
- Total
목록분류 전체보기 (106)
요깨비's LAB
하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 합니다. 이 저울의 양팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같습니다. 또한, 저울의 한쪽에는 저울추들만 놓을 수 있고, 다른 쪽에는 무게를 측정하려는 물건만 올려놓을 수 있습니다. 저울추가 담긴 배열 weight가 매개변수로 주어질 때, 이 추들로 측정할 수 없는 양의 정수 무게 중 최솟값을 return 하도록 solution 함수를 작성해주세요. 예를 들어, 무게가 각각 [3, 1, 6, 2, 7, 30, 1]인 7개의 저울추를 주어졌을 때, 이 추들로 측정할 수 없는 양의 정수 무게 중 최솟값은 21입니다. 제한 사항 저울추의 개수는 1개 이상 10,000개 이하입니다. 각 추의 무게는 1 이상 1,000,000 이..
1. 아이디어 원형 큐가 떠올라 자바의 LinkedList를 기본적으로 이용하기로 하였습니다. 그다음 값을 꺼낼때 인덱스는 항상 0(큐 이므로)으로 0을 기준으로 왼쪽으로 탐색하여 해당 값을 발견했을때의 count와 오른쪽으로 탐색하여 해당 값을 발견했을때의 count를 비교하여 작은 쪽으로 연산을 진행하여 (1번 혹은 2번) 연산을 수행한다음 값을 꺼내는 방식으로 구현하였습니다. 단, 0이 찾는 값이 바로 있으면 count는 0!! 그리고 왼쪽 방향으로 값을 찾는 연산은 리스트의 마지막 인덱스 ~ 1 까지 연산을 수행하지만 우선적으로 0번째에서 값을 확인하기 때문에 0번째에 값이 없다면 왼쪽 연산과 달리 count=1로 초기화 해주어야 합니다. 아래는 코드입니다. import java.util.Link..
1. 함수 1.x1 -> R1 2.x2 -> R2 / x3 -> R2 이 경우에는 서로 다른 입력 값이 같은 결과를 갖는 경우도 있습니다. 하지만, 하나의 입력값으로 두개 이상의 결과는 가질 수 없습니다. 2번의 예를 하나 들어보겠습니다. public class StreamPrelude { public static void main(String[] args ) { // 입력값 -1과 1의 결과값은 같다. final int abs1 = Math.abs(-1); final int abs2 = Math.abs(1); System.out.println("abs1: " + abs1); // 1 System.out.println("abs2: " + abs2); // 1 System.out.println("abs1 ..
1. 가게 추가 이번에는 가게 추가 API를 만들어 보겠습니다. POST 메소드를 이용, /restaurants라는 리소스에 생성 HTTP Status는 201(Created)을 리턴 Header Location이라는 정보에 레스토랑에 대한 Resource를 담아서 보낼 거임 Epmty{} HTTPie 2. UI Layer(Controller) Application Layer(Service) #1 Controller 만들기 RestaurantControllerTest로 먼저 가서 생성 기능에 대한 테스트 코드를 먼저 작성하겠습니다. @Test public void create()throws Exception { Restaurant restaurant = new Restaurant(1234L,"BeRyon..
지난번에 ControllerTest를 만들면서 우리가 테스트하고자 하는 것 외에 여러개의 객체가 동시에 주입되는 것을 확인했습니다. 이 경우에는 우리가 테스트하고자 하는 대상 외에 것들에 대한 의존성이 커서 우리가 테스트에 집중하기가 어려웠습니다. 그리고 하나의 테스트를 통과시키기 위해 의존하는 부분들을 모두 만들어줘야 했습니다. 이러한 어려움을 해결하기 위해 사용하는 것이 바로 MockObject입니다. 1. Mokito 스프링은 기본적으로 POJO 방식의 자바 오브젝트를 권장합니다. 그래서 Mokito와 같은 라이브러리를 제공합니다. 코드를 통해 살펴보도록 하겠습니다. @RunWith(SpringRunner.class) @WebMvcTest(RestaurantController.class) // Re..
1. 의존 관계: 둘 이상의 객체가 서로 협력하는 방법 A는 B에 의존 = A는 B를 사용 (하지만 이것은 문제가 됨!) -> B의 변화가 A에 영향을 끼치기 때문 조금 더 구체적인 사례를 위해 저희가 지금 개발하고 있는 프로젝트에 비유하겠습니다. 저희는 현재 RestaurantController를 개발했습니다. RestaurantController는 RestaurantRepository를 사용합니다. 즉, Controller는 Repository에 의존하고 있다는 뜻이기도 합니다. @RestController public class RestaurantController { private RestaurantRepository repository = new RestaurantRepository(); // ..