분류 전체보기

    [f-lab(에프랩)] 자바 백엔드 과정 2개월 후기

    1. 현재까지 진행한 내용1개월 간 이론 공부가 끝나고, 1개월 간 프로젝트를 진행하고 있다.프로젝트에서 구현할 유스케이스를 작성했다.해당 서비스에 필요한 API spec 을 작성하고 컨트롤러와 통합테스트를 작성했다.기능 구현하고 단위테스트를 작성했다.  지금도 기능을 구현하고 있다..🙂... 2. 프로젝트를 진행하며 새로 배운 점 1. 계층 구조 고민 각 계층이 담당해야 하는 역할에 대해 고민해보게 되었다. entity 를 response 로 변환하는 로직의 위치를 처음엔 서비스 계층으로 빼두었고, 각 엔티티가 스스로를 response 로 변환하는 메소드를 가지도록 했는데 잘 정리할 수 있었다.  2. github pr 코드 리뷰할 때 pr 을 사용해본 적이 없었다. fisheye 만 사용해봤는데, ..

    [프로그래머스] Lv2.점프와 순간이동 (그리디 알고리즘)

    https://school.programmers.co.kr/learn/courses/30/lessons/12980** 문제 설명* OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간 이동을 하는 것이 더 효율적입니다. 아이언 슈트 구매자는 아이언 슈트를 착용하고 거리가 N 만큼 떨어져 있는 장소로 가려고 합니다. 단, 건전지 사용량을 줄이기 위해 점프로 이동하는 것은 최소로 하려..

    [프로그래머스] Lv2.N개의 최소공배수

    https://school.programmers.co.kr/learn/courses/30/lessons/12953 [문제 설명]두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. [제한 사항] arr은 길이 1이상, 15이하인 배열입니다.  arr의 원소는 100 이하인 자연수입니다. [입출력 예]arr   result [2,6,8,14]    168 ..

    [프로그래머스] Lv.2 짝지어 제거하기

    https://school.programmers.co.kr/learn/courses/30/lessons/12973 [문제 설명]짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1..

    [프로그래머스] Lv2.피보나치 수

    https://school.programmers.co.kr/learn/courses/30/lessons/12945 [문제 설명]피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5  와 같이 이어집니다.  2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. [제한 사항]n은 2 이상 100,000 이하인 ..

    commit convention 정하기

    나홀로 프로젝트이지만 컨벤션을 정했다.PR 올릴 때도 어떤 커밋인지 구분하기 편하고 언제 어떤 일이 발생했는지 찾아볼 때도 봐야하는 커밋만 한눈에 알아보기 편하니깐!  예시)[build] Gradle 설정  feat새로운 기능 추가fix버그 수정docs문서 수정env환경 설정 수정 test테스트 코드, 리팩토링 테스트 코드 추가refactor코드 리팩토링build빌드 파일 수정ciCI 설정 파일 수정chore코드 스타일 변경 등 (코드 포매팅, 세미콜론 누락 등) 기능 수정이 없는 경우rename파일 혹은 폴더명을 수정만 한 경우remove파일을 삭제만 한 경우

    [프로그래머스] Lv2. 다음 큰 숫자

    https://school.programmers.co.kr/learn/courses/30/lessons/12911 [문제 설명]자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다. 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다. 예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다. 자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요. [제한 사항]n은 1,000,000 이하의 자연수 입니다. [입출력 예]n result ..

    [프로그래머스] Lv2.숫자의 표현

    https://school.programmers.co.kr/learn/courses/30/lessons/12924 문제 설명 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다.1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. 제한사항 n은 10,000 이하의 자연수 입니다.  입출력 예n result 15    4 아이디어1) 값을 1씩 증가시키면서 n과 같거나 클..

    프로젝트 유스케이스 작성

    프로젝트 주제는 티켓팅 서비스로 정했다.콘서트이나 뮤지컬 예매할 때 '이선좌'를 보던 슬픈 기억을 극복하기 위해서.. 핵심 기능인 티켓 예매 기능을 중심으로 구현하려고 한다.티켓 예매유스케이스 이름: 이벤트 티켓 예매행위자:사용자회원 등급 별로 구분된다. (Bronze, Silver, Gold)선예매가 존재하는 이벤트 내 구분: 일반 회원, 선예매 회원시스템 (웹사이트, 결제 시스템, 쿠폰 발급 시스템, 대기열 시스템, 비정상 활동 감지 시스템)사전 조건:이벤트 별로 선예매 적용 여부가 구분된다.선예매 회원은 정해진 선예매 기간 동안 일반 회원보다 먼저 예매할 수 있다.회원 등급 별로 추가 혜택과 제한이 적용된다.후조건:예매가 성공적으로 완료되면 결제 정보와 예매 정보를 예매 내역에서 확인할 수 있다.기..

    [프로그래머스] Lv2.이진 변환 반복하기

    https://school.programmers.co.kr/learn/courses/30/lessons/70129문제 설명0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다.예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때,이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 제한사항s의..