일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조
- Brute-force
- 백트래킹
- BFS
- 프로그래머스
- 모던자바
- Java8
- 그래프
- baekjoon
- lambda
- 프로젝트
- kotlin
- TDD
- OS
- 자바
- 코틀린
- DFS
- programmers
- java
- 알고리즘
- backtracking
- back-end
- 운영체제
- algorithm
- 백준
- 네트워크
- 스프링
- Spring
- LEVEL2
- DP
- Today
- Total
목록java (28)
요깨비's LAB
import java.util.ArrayList; import java.util.List; import java.util.PriorityQueue; import java.util.Scanner; class Vertax { int id; boolean isVisited; List edges; public Vertax(int id) { this.id = id; this.isVisited = false; this.edges = new ArrayList(); } } class Edge { int from; int to; int value; public Edge(int from, int to, int value) { this.from = from; this.to = to; this.value = value; } ..
MST를 이용해서 풀었으며, 기존의 배열을 활용한 풀이보다는 각각의 정점과 간선을 인스턴스화하여 푸는 방식으로 진행하였습니다. import java.util.ArrayList; import java.util.List; import java.util.Scanner; class Vertax { Vertax parent; int id; boolean isVisted; public Vertax(int id, boolean isVisted) { this.parent = this; this.id = id; this.isVisted = isVisted; } public Vertax findParent(Vertax p) { // System.out.println(this.id + ", " + p.id); if(p.id..
정보 은닉은 객체지향의 언어의 최종 목표이다. 자바에서 정보 은닉을 위해 상속, 추상화, 캡슐화, 다형성 모든 것들이 사용되는 것이다. 참고 및 출처 blog.naver.com/gngh0101/221162453796 Java 정보은닉에 대해서 쉽게 이해하기 ( 캡슐화와 혼동하지 말자.!! ) Java 정보은닉에 대해서 쉽게 이해하기 ( 캡슐화와 혼동하지 말자.!! ) 정보은닉이란 : 모든 객체지향 요... blog.naver.com blog.naver.com/gngh0101/221165079337 Java 캡슐화에 대해서 쉽게 이해하기 ( Getter, Setter 사용 이유 ) Java 캡슐화에 대해서 쉽게 이해하기 ( Getter, Setter 사용 이유 ) 캡슐화 : 연관된 데이터(자료)와 함.....
지난번에 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(); // ..
1. 가게 상세 GET방식 /restaurants/{id} { "id":2019, "name":"식당", "address":"골목" } 형태의 JSON값 반환 2. Code 구현 I. 컨트롤러 단 구현 1. RestaurantControllerTest 작성 @RunWith(SpringRunner.class) @WebMvcTest(RestaurantController.class) // Restaurant 컨트롤러를 테스트하겠다는 어노테이션 public class RestaurantControllerTest { @Autowired private MockMvc mvc; // 이전 내용 @Test public void list() throws Exception { ... } @Test public void de..
재귀를 이용하여 Top-Down이 아닌 Bottom-Up 방식으로 문제를 풀었습니다. 그 이유는, Top-Down으로 풀었을 경우에는 풀었던 문제를 다시 풀어야 하는 비효율이 존재하기 때문에 효율을 생각해서 Bottom-Up 방식으로 풀었습니다. Bottom-Up으로 바꾸니까 이 문제에 한해서 DP가 되버린 것 같기도 하네요 class Solution { int[] dp; public int solution(int n) { int answer = 0; dp = new int[n+1]; dp[0] = 0; dp[1] = 1; if(n == 1) { answer = 1; }else { pibo(2,dp[0],dp[1],n); } answer = dp[n]; return answer; } public void..
체스판이라는 것을 명심하고 풀이에 들어가야 합니다. 상하좌우 색깔이 서로 달라야 합니다. 단순하게 한줄에 최적의 경우만 찾아서는 안됩니다. 1. 우선 주어진 맵에서 X = 0번째에서 주어진 M 크기 - 8, Y = 0번째에서 주어진 N크기 - 8의 기준을 주어 8*8의 맵을 가져옵니다. 2. y = 0~6(현재위치 ?= 현재위치 + 1) , x = 0으로 먼저 흰/검 값을 정한 뒤에(흰색 시작, 검정색 시작 두가지) y= 0~7번째 마다 map[y][0], map[y][1] .... map[y][6]으로 x에 대한 흰/검 값들을 정해주면서 map[y][x] == map[y][x+1]이면 count 값을 증가 시키고 map[y][x+1]의 값을 바꿔줍니다. 3. 해당 로직을 마치고 이전 값보다 최소값이면 ..