본문 바로가기

분류 전체보기220

[Spring] REST Docs 🔎REST Docs란? Test 코드 기반으로 Restful API 서비스를 문서화를 도움 Asciidoctor를 사용하며, 이를 이용해 html을 생성 큰 장점은 테스트 코드를 기반으로 문서를 작성한다는 점 테스트 통과시 Snippet이 생성됨 만약 테스트 실패 시, Snippet이 생성되지 않음 💡REST Docs VS Swagger REST Docs Swagger 장점 테스트에 성공해야 문서 작성 가능 API 를 테스트 해 볼수 있는 화면을 제공 제품 코드에 영향이 없음 테스트 코드가 필요 없으므로 적용하기 쉬움 단점 테스트 코드를 작성해야 하므로 적용이 불편 제품 코드에 어노테이션 추가해야 함 테스트 기반이 아니기 때문에 100% 정확하지 않을 수 있음 Swagger 사용 시, 제품 코드에 어노테.. 2023. 1. 4.
[Java] List와 Set, Map 면접 준비를 하며, 각 개념에 대해 차이를 알고자 공부하였다. 정확하지 않을 수 있다. 계속해서 수정 예정. 📍 공통점 세 가지는 컬렉션 프레임워크의 주요 인터페이스 컬렉션이란 여러 데이터들의 집합을 의미 이런 컬렉션을 다루는 데에 있어서 편리한 메서드를 미리 정의해 놓은 것이 컬렉션 프레임워크 컬렉션 프레임워크는 특정 자료 구조에 데이터를 추가, 삭제, 수정, 검색 등의 동작을 수행하는 편리한 메서드들을 제공 📍 차이점 List와 Set은 Collection 인터페이스를 상속받지만, 구조상의 차이로 Map 인터페이스는 별도로 정의됨 1️⃣ List 순서와 중복이 있는 자료 구조 대표적으로 ArrayList와 LinkedList가 존재 ArrayList 배열 리스트 객체 내부에 있는 배열에 값을 저장 배.. 2023. 1. 4.
[LeetCode] 014.Longest Common Prefix JAVA Longest Common Prefix - LeetCode Longest Common Prefix - Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string "". Example 1: Input: strs = ["flower","flow","flight"] Output: "fl" Example 2: Input: st leetcode.com ❄️ 문제 Write a function to find the longest common prefix string amongst an array of strings. If th.. 2023. 1. 4.
[프로그래머스] 42895. N으로 표현 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❄️ 문제 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하세요. 제한사항 N은 1 이상 9 이하입니다. number는 1 .. 2023. 1. 2.
[프로그래머스] 42898. 등굣길 JAVA 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✨ 문제 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = 4, n = 3 인 경우입니다. 가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다. 격자의 크기 m, n과 물이 잠긴 지역의 좌표를 담은 2차원 배열 puddles이 매개변수로 주어집니다. 오른쪽과 아래쪽으로만 움직.. 2023. 1. 2.
[LeetCode] 013. Roman to Integer JAVA https://leetcode.com/problems/roman-to-integer/ ☀️ 문제 Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. For example, 2 is written as II in Roman numeral, just two ones added together. 12 is written as XII, which is simply X + II. The number 27 is written as XXVII, which is XX + V + II. Roman numerals are usually written largest to smallest from left to right. How.. 2022. 12. 30.
[프로그래머스] 43105. 정수 삼각형 JAVA 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🌄 문제 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 제한사항 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 .. 2022. 12. 30.
[프로그래머스] 147355. 크기가 작은 부분문자열 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🦄 문제 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 제한사항 1 ≤ p의 길이 ≤ 18 p의 길이.. 2022. 12. 29.
[프로그래머스] 77484. 로또의 최고 순위와 최저 순위 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🦄 문제 로또 6/45 (이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6 (낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 .. 2022. 12. 28.
[Java] 메서드 오버로딩 VS 메서드 오버라이딩 🔎 메서드 오버로딩(Method Overloading) 메서드 오버로딩이란? 클래스 안에 같은 이름의 메서드를 여러 개 정의하는 것 하나의 메서드로 여러 개의 경우의 수 해결 가능 성립 조건 1️⃣ 같은 이름의 메서드 2️⃣ 매개 변수의 개수 혹은 타입이 다르게 정의 ❗️오버로딩은 매개변수의 개수와 데이터 타입에 의해서만 구분, 따라서 리턴 타입은 오버로딩 구현에 영향을 주지 않는다❗️ 사용 이유 1️⃣ 같은 기능을 하는 메서드를 하나의 이름으로 사용할 수 있음 2️⃣ 메서드의 이름을 절약할 수 있음 🔎 메서드 오버라이딩(Method Overriding) 메서드 오버라이딩이란? 상위 클래스로부터 상속 받은 메서드와 동일한 이름의 메서드를 재정의하는 것 상속 받은 메서드를 그대로 사용할 수 있으나, 자식 .. 2022. 12. 28.
[Linux] EC2에 MariaDB 설치하고 DataGrip에 연결하기 코드스테이츠 부트 캠프가 끝나고, 동기분들과 함께 리눅스를 공부해보기로 하였다. 그래서 리눅스 서버를 구축해보기로 했다. 그렇기 때문에 이 포스팅은 해당 과정들을 쓰고 있는 포스팅이다. 필자는 wsl이 아닌 EC2 환경에서 구축하고 있다. 마리아 데이터 베이스 설치는 아래를 참조하였다. How To Install MariaDB on Ubuntu 22.04 | DigitalOcean www.digitalocean.com 1️⃣ 3306 포트 열기 데이터 베이스를 사용할 것이기에 3306 포트를 열어준다. 2️⃣ EC2에 MariaDB 설치하기 sudo apt update 업데이트 하기 sudo apt install mariadb-server로 MariaDB 패키지 설치 3️⃣ MariaDB 보안 설정하기 .. 2022. 12. 26.
[LeetCode] 011.Container With Most Water JAVA ☃️ 문제 You are given an integer array height of length n. There are n vertical lines drawn such that the two endpoints of the ith line are (i, 0) and (i, height[i]). Find two lines that together with the x-axis form a container, such that the container contains the most water. Return the maximum amount of water a container can store. Notice that you may not slant the container. 길이가 n인 정수 배열 높이가 주.. 2022. 12. 26.