분류 전체보기 799

[Lv.2 / 프로그래머스 / SQL] 카테고리 별 상품 개수 구하기

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이(MySQL) PRODUCT_CODE의 앞 두 글자를 잘라 그룹화한 뒤, COUNT() 집계 함수를 통해 그 개수를 세어야 한다. LEFT() 함수를 통해 문자열의 앞부터 자를 수 있다. 반대로 RIGHT()는 오른쪽부터, 중간부터 자르고 싶다면 SUBSTRING을 사용하면 된다. SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(1) AS PRODUCTSFROM PRODUCTGROUP BY CATEGORYORDER BY CATEGORY

[Lv.1 / 프로그래머스 / SQL] 흉부외과 또는 일반외과 의사 목록 출력하기

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 (MySQL) DATE_FORMAT 함수를 통해 연-월-일 단위 까지만 출력해주어야 한다. SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMDFROM DOCTORWHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'ORDER BY HIRE_YMD DESC, DR_NAME ASC

[Lv.1 / 프로그래머스 / 파이썬] 동영상 재생기 (PCCP 기출문제 1번)

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 문자열로 주어진 모든 시간을 초 단위로 환산한 뒤, 계산이 전부 끝난 다음 다시 원래 포맷으로 변환시켜주는 방법을 사용하면 구현이 보다 편하다. 다시 문자열로 치환할 때 분 혹은 초 단위가 10 미만일 때에도 두 자리수로 표현해야 함에 유의해야 한다.그리고 사용자의 입력 타이밍과 상관 없이 현재 시간이 오프닝 사이에 위치하게 되면 오프닝의 끝으로 이동하게 된다. 따라서 사용자 입력 전후로 체크해주도록 하자. def solution(video_len, pos, op_start, op_end, commands): # 전부 초 단위로 치환 vid..

[Lv.3 / 프로그래머스 / SQL] 대장균의 크기에 따라 분류하기 2

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이(MySQL) NTILE() 함수를 사용하면 특정 데이터를 등급별로 분류할 수 있다. 문제에서는 총 4가지의 등급이 존재하므로 해당 함수를 통해 4등급으로 나눈 뒤, CASE 별로 문자로 치환하면 문제를 해결할 수 있다. SELECT ID, CASE WHEN NTILE(4) over (ORDER BY SIZE_OF_COLONY) = 1 THEN "LOW" WHEN NTILE(4) over (ORDER BY SIZE_OF_COLONY) = 2 THEN "MEDIUM" WHEN NTILE(4) over (OR..

[Lv.2 / 프로그래머스 / SQL] 조건에 맞는 사원 정보 조회하기

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이(MySQL) HR_DEPARTMENT 테이블은 문제 해결을 위해 불필요하다. 따라서 HR_EMPLOYEES, HR_GRADE 두 테이블로 문제를 해결할 수 있다. 핵심은 상반기 하반기의 점수를 합쳐서 내림차순으로 정렬을 하는 것이다. HALF_YEAR야 어찌 되었든, 한 사원 당 YEAR 별 SCORE는 상반기와 하반기 최대 두 개가 존재할 것이므로, EMP_NO만 그룹으로 묶어 SCORE를 집계한다면 한 해의 총 점수를 구할 수 있을 것이다.  따라서 EMP_NO 컬럼을 기준으로 GROUP BY로 묶은 뒤, SUM() 집계 함수로 SCORE의 합..

[Lv.4 / 프로그래머스 / SQL] 주문량이 많은 아이스크림들 조회하기

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   풀이(MySQL) FIRST_HALF는 FLAVOR가 중복된 행이 없지만, JULY 테이블에는 같은 FLAVOR가 존재할 수 있다.  따라서 JULY 테이블 기준으로 FLAVOR를 그룹화하여 TOTAL_ORDER를 SUM 집계 함수로 다시 계산한 다음, FIRST_HALF와 조인하여 구하면 된다. SELECT JULY.FLAVORFROM JULYLEFT JOIN FIRST_HALFON FIRST_HALF.FLAVOR = JULY.FLAVORGROUP BY FLAVORORDER BY FIRST_HALF.TOTAL_ORDER..

[Lv.2 / 프로그래머스 / SQL] 성분으로 구분한 아이스크림 총 주문량

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  풀이(MySQL) JOIN을 통해 각 FLAVOR의 INGREDIENT_TYPE을 구한 뒤, 그 타입별로 TOTAL_ORDER의 합계를 구해야 한다.  타입별로 묶어야 하므로 GROUP BY를 통해 그룹화해서 문제를 해결할 수 있다. SELECT INGREDIENT_TYPE, SUM(TOTAL_ORDER) AS TOTAL_ORDERFROM FIRST_HALFINNER JOIN ICECREAM_INFOON FIRST_HALF.FLAVOR = ICECREAM_INFO.FLAVORGROUP BY INGREDIENT_TYPEORD..

[Lv.1 / 프로그래머스 / SQL] 과일로 만든 아이스크림 고르기

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  풀이(MySQL) FIRST_HALF 테이블의 TOTAL_ORDER가 3000을 초과하면서 FLAVOR의 INGREDIENT_TYPE이 fruit_based 인 아이스크림의 FLAVOR를 조회해야 한다. JOIN을 통해 각 FLAVOR의 INGREDIENT_TYPE을 구할 수 있다. SELECT FIRST_HALF.FLAVORFROM FIRST_HALFINNER JOIN ICECREAM_INFOON FIRST_HALF.FLAVOR = ICECREAM_INFO.FLAVORWHERE TOTAL_ORDER > 3000 AND I..

[Git / IntelliJ] 마이크로서비스 구성 시 서브모듈의 형상 관리 통합하기

개요 마이크로서비스를 공부하면서 예제 프로젝트를 진행하였는데, 부모 프로젝트에서 모듈을 생성하면 아래와 같이 형상 관리가 모듈별로 이루어지는 문제가 있었다.    심지어 둘 이상의 모듈을 수정한 다음 push하면 각각의 모듈에서 형상 관리가 이루어지므로 다음과 같이 더욱 지저분하게 보였다.   아직 모듈이 하나이고 브랜치들의 Merge 작업이 없기 때문에 이정도이지, 나중으로 가면 더 심각해질 문제였다. 필자는 IntelliJ에 내장된 Git GUI를 애용하기 때문에 더 용납할 수 없었다.물론 서브모듈별로 Git이 관리되는 것 자체가 문제라고 할 수는 없지만, 단순한 학습용 프로젝트이기 때문에 이렇게 관리되는 것을 원치 않았다.  해결 방법 원인은 어찌보면 당연하게도 모듈이 별도의 Git 저장소로 관리되..

Dev 2024.10.16

[Java / Spring] 재고시스템으로 알아보는 동시성이슈 해결방법

개요  재고시스템으로 알아보는 동시성이슈 해결방법 강의 | 최상용 - 인프런최상용 | 동시성 이슈란 무엇인지 알아보고 처리하는 방법들을 학습합니다., 동시성 이슈 처리도 자신있게! 간단한 재고 시스템으로 차근차근 배워보세요. 백엔드 개발자라면 꼭 알아야 할 동www.inflearn.com 해당 게시글은 위 인프런 강의를 수강한 내용을 바탕으로 작성되었습니다. 개발 환경Java 17SpringBoot 3.3.4GradleMySQL, JPA 목표예제 프로젝트를 통해 멀티스레드 환경에서 발생할 수 있는 동시성 이슈를 효과적으로 예방/해결할 수 있는 방법을 학습한다. 선수 과목Spring, JPA  동시성 이슈 발생 우선 동시성 이슈가 발생하는 것을 확인할 수 있는 예제 코드를 작성해 보자. Entity@Ent..

Dev/Java 2024.10.08
반응형