애정코딩 💻

5. Spring REST Docs 사용

서비스 구현에 앞서 REST API 문서를 자동화 해주는 Spring REST Docs 를 사용해본다. Docs를 사용한 이유는 Test에서 성공해야만 문서를 만들 수 있기 때문에 사용하게되었습니다. 강제로 TEST CODE를 작성하여 API에 대한 신뢰성을 높일 수 있기 때문입니다. Gradle 7을 사용하고 있었는데 문서생성이 안되서 검색해봤다. 우회방법이 있지만 복잡하기 때문에 다운그레이드를 선택했다. 그리고 Gradle과 Maven 에서 다르게 설정되는 부분이 있기 때문에 맨아래 링크를 통해 확인해보는 것도 좋다! 환경설정 Springboot 2.6.1 Gradle 6.9.1 JUnit5 Asciidoctor 1.5.9.2 build.gradle 에 추가한 설정 plugins { id "org.a..

Project/DARLING 2022.01.24 Joana

4. 연관관계 - OneToMany

DiaryEntity package so.ego.re_darling.domains.diary; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import so.ego.re_darling.domains.user.domain.Couple; import javax.persistence.*; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.List; @Gette..

Project/DARLING 2022.01.23 Joana

3. 연관관계 - ManyToOne

Coupon Entity package so.ego.re_darling.domains.coupon.domain; import lombok.*; import so.ego.re_darling.domains.user.domain.User; import javax.persistence.*; import java.time.LocalDateTime; @AllArgsConstructor(access = AccessLevel.PROTECTED) @NoArgsConstructor(access = AccessLevel.PROTECTED) @Table(name = "coupon") @Entity public class Coupon { @Id @GeneratedValue(strategy = GenerationType.IDEN..

Project/DARLING 2022.01.23 Joana

2. Entity

package so.ego.re_darling.domains.coupon.domain; import lombok.*; import javax.persistence.*; import java.time.LocalDateTime; @AllArgsConstructor(access = AccessLevel.PROTECTED) @NoArgsConstructor(access = AccessLevel.PROTECTED) @Table(name = "coupon") @Entity public class Coupon { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @NonNull private String title; private Str..

Project/DARLING 2021.12.03 Joana

11월 26일 2문제 - Java : Two pointers

1. 두 배열 합치기 첫 번째 줄에 첫 번째 배열의 크기 N(1

알고리즘 2021.11.26 Joana

11월 22일 1문제 - Java : Array

1. 멘토링 현수네 반 선생님은 반 학생들의 수학점수를 향상시키기 위해 멘토링 시스템을 만들려고 합니다. 멘토링은 멘토(도와주는 학생)와 멘티(도움을 받는 학생)가 한 짝이 되어 멘토가 멘티의 수학공부를 도와주는 것입니다. 선생님은 M번의 수학테스트 등수를 가지고 멘토와 멘티를 정합니다. 만약 A학생이 멘토이고, B학생이 멘티가 되는 짝이 되었다면, A학생은 M번의 수학테스트에서 모두 B학생보다 등수가 앞서야 합니다. M번의 수학성적이 주어지면 멘토와 멘티가 되는 짝을 만들 수 있는 경우가 총 몇 가지 인지 출력하는 프로그램을 작성하세요. 1. 1 번째 ,2 번째 for문은 멘토링이 되는 학생의 수 만큼의 경우의수에 따라 검색 하기 위함 2. 3번째 for문은 그 경우의 수가 test만큼 있기 때문 3...

알고리즘 2021.11.22 Joana

[프로그래머스 Lv.1] 로또의 최고 순위와 최저 순위

https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr java class Solution { public int[] solution(int[] lottos, int[] win_nums) { int[] answer = new int[2]; // 1,2,3,4,5,6-7(낙첨) int[] level = {6,6,5,4,3,2,1}; int cnt = 0; int win_c..

알고리즘 2021.11.14 Joana

11월 13일 1문제 - Java : Array

1. 임시반장 정하기 김갑동 선생님은 올해 6학년 1반 담임을 맡게 되었다. 김갑동 선생님은 우선 임시로 반장을 정하고 학생들이 서로 친숙해진 후에 정식으로 선거를 통해 반장을 선출하려고 한다. 그는 자기반 학생 중에서 1학년부터 5학년까지 지내오면서 한번이라도 같은 반이었던 사람이 가장 많은 학생을 임시 반장으로 정하려 한다. 그래서 김갑동 선생님은 각 학생들이 1학년부터 5학년까지 몇 반에 속했었는지를 나타내는 표를 만들었다. 예를 들어 학생 수가 5명일 때의 표를 살펴보자. 위 경우에 4번 학생을 보면 3번 학생과 2학년 때 같은 반이었고, 3번 학생 및 5번 학생과 3학년 때 같은 반이었으며, 2번 학생과는 4학년 때 같은 반이었음을 알 수 있다. 그러므로 이 학급에서 4번 학생과 한번이라도 같은..

알고리즘 2021.11.13 Joana

11월 3일 1문제 - Java : Array

1. 봉우리 지도 정보가 N*N 격자판에 주어집니다. 각 격자에는 그 지역의 높이가 쓰여있습니다. 각 격자판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역입니다. 봉우리 지역이 몇 개 있는 지 알아내는 프로그램을 작성하세요. 격자의 가장자리는 0으로 초기화 되었다고 가정한다. 만약 N=5 이고, 격자판의 숫자가 다음과 같다면 봉우리의 개수는 10개입니다. 2차원 배열은 익숙하지 않아서 방향을 우째 for문에 담아야할지 감이 안와서 강의를 봤는데 보통 이런 문제에서는 배열에 방향을 먼저 담아 두고 그걸로 2중 for문을 돌아야 한다고 한다. import java.util.Scanner; public class Test02_10 { public int solution(int[][] numberA..

알고리즘 2021.11.03 Joana

10월 29일 1문제 - Java : Array

1. 격자판 최대합 5*5 격자판에 아래롸 같이 숫자가 적혀있습니다. N*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력합니다. import java.util.Scanner; public class Main { public int solution(int[][] numberArray, int number) { int result = 0; int x, y; for (int i = 0; i < number; i++) { x = y = 0; for (int j = 0; j < number; j++) { x += numberArray[i][j]; y += numberArray[j][i]; } result = Math.max(result, x); result = Math..

알고리즘 2021.10.29 Joana

10월 21일 4문제 - Java : Array

1. 자연수 N이 입력되면 1부터 N까지의 소수의 개수를 출력하는 프로그램을 작성하세요. 만약 20이 입력되면 1부터 20까지의 소수는 2, 3, 5, 7, 11, 13, 17, 19로 총 8개입니다. 소수는 1과 자신으로만 나누어지는 수 입니다. 그러므로 2,3,4... 등 의 배수가 되면 안되겠죠! 여기서는 int 배열의 크기로 0 일때 count 되도록 했습니다. 2번째 for문에서 j=j+1 로 배수들을 체크 해주었습니다. (체크할 배수 만큼만 for문을 돈다) import java.util.Scanner; public class Test2_05 { public int solution(int number) { int result = 0; int[] ch = new int[number + 1]; f..

알고리즘 2021.10.25 Joana

10월 20일 4문제 - Java : Array

1. 큰 수 출력하기 N개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력하는 프로그램을 작성하세요. (첫 번째 수는 무조건 출력한다) import java.util.ArrayList; import java.util.Scanner; public class Test2_01 { public ArrayList solution(int[] numberArray) { ArrayList result = new ArrayList(); result.add(numberArray[0]); for (int i = 0; i < numberArray.length-1; i++) { if(numberArray[i]=3){ result.add("A"); }else{ result.add("B"); } } return resul..

알고리즘 2021.10.20 Joana