분류 전체보기 790

[Lv.1 / 프로그래머스 / 파이썬] 데이터 분석 (PCCE 기출문제 10번)

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  풀이 리스트에 담겨 있는 자료를 조건에 따라 적절히 필터링하고, 정렬하여 출력하는 문제이다. sort 함수의 key 파라미터로 람다 함수를 넘겨 보다 쉽게 정렬할 수 있다. def solution(data, ext, val_ext, sort_by): idx = ["code", "date", "maximum", "remain"] data = [d for d in data if d[idx.index(ext)]

[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
반응형