본문 바로가기

전체 글

(430)
[프로그래머스 (Oracle)] 대여 기록이 존재하는 자동차 리스트 구하기 코드 힌트차량 필터링:이 쿼리는 세단 타입의 차량만을 대상으로 합니다.차량 유형을 CAR_TYPE = '세단'으로 필터링하여 특정 타입의 차량만 조회합니다.특정 월에 대한 렌탈 기록 조회:이 쿼리는 TO_CHAR(H.START_DATE, 'YYYY-MM') = '2022-10' 조건을 통해 2022년 10월에 대여된 기록만을 조회합니다.날짜를 문자열로 변환하여 특정 월에 맞는 기록을 쉽게 필터링합니다.JOIN과 차량 ID 중복 제거:JOIN을 사용하여 차량과 렌탈 기록을 연결하고, 중복된 차량 ID를 제거하기 위해 DISTINCT를 사용합니다.이 방법으로 한 번이라도 렌탈된 차량 ID만 결과에 포함됩니다.차량 ID 내림차순 정렬:결과는 ORDER BY C.CAR_ID DESC에 따라 차량 ID가 내림차순..
[프로그래머스] 마법의 엘리베이터 코드 힌트문제의 핵심: 최소한의 조작으로 층수를 0으로 만들기이 문제는 각 자리 숫자를 더하거나 빼서 전체 storey 값을 0으로 만드는 과정에서, 최소한의 조작 횟수를 구하는 문제입니다. 한 자리씩 차례대로 내려가면서, 그 자리 숫자가 5보다 크거나 작을 경우에 따라 올리거나 내립니다.각 자리 숫자 처리 방식올림(UP): 만약 현재 자리 숫자가 5보다 크다면, 그 숫자를 올리는 것이 더 유리합니다. 예를 들어, 8인 경우 2를 더해서 올림 처리합니다. 이때 상위 자리 숫자가 하나 증가합니다.내림(DOWN): 현재 자리 숫자가 5보다 작으면 내리는 것이 더 유리합니다. 예를 들어, 3인 경우 3만큼 내려서 0으로 만듭니다.5일 경우현재 자리 숫자가 정확히 5일 때는 다음 자리 숫자를 확인합니다. 만약 ..
[프로그래머스 (Oracle)] 식품분류별 가장 비싼 식품의 정보 조회하기 코드 힌트카테고리별 가장 비싼 음식 제품 찾기FOOD_PRODUCT 테이블에서 '과자', '국', '김치', '식용유' 카테고리에 해당하는 상품들 중 가장 높은 가격을 가진 상품을 추출합니다.서브쿼리에서 각 카테고리별로 가장 높은 가격을 찾고, 그 결과를 메인 쿼리에서 조인하여 해당 가격의 제품 정보를 가져옵니다.정렬 기준가장 비싼 상품부터 내림차순으로 정렬되며, 동일한 가격의 제품이 여러 개일 경우에도 모두 표시됩니다. 정답은 더보기 클릭더보기더보기SELECT FP.CATEGORY, FP.PRODUCT_NAME, FP.PRICE AS MAX_PRICE -- FOOD_PRODUCT 테이블에서 카테고리, 제품명, 가격을 선택하되, 가격을 MAX_PRICE로 별칭 지정 FROM FOOD_PRODUCT F..
[OS] PCB, 문맥 교환(Context Switching) 운영체제와 프로세스 제어 블록(PCB)운영체제가 메모리에 적재된 여러 프로세스를 관리하기 위해서는 프로세스를 식별할 수 있는 커널 영역의 정보가 필요합니다. 이러한 정보를 프로세스 제어 블록(Process Control Block, PCB)이라고 부릅니다.PCB는 프로세스와 관련된 다양한 정보를 포함하는 구조체로, 새로운 프로세스가 메모리에 적재될 때 커널 영역에 만들어지며, 프로세스가 종료되면 제거됩니다.프로세스: 메모리에 적재된 실행 중인 프로그램.커널 영역: 운영체제의 핵심 부분을 담당하는 영역으로, 메모리에 적재된 부분을 커널 영역이라고 합니다.구조체: 서로 다른 자료형으로 이루어진 데이터를 하나로 묶어 사용할 수 있는 데이터 구조의 일종입니다. PCB에 담긴 정보PCB에는 프로세스를 관리하기 위..
[프로그래머스 (Oracle)] 보호소에서 중성화한 동물 코드 힌트동물 입양 및 중성화 상태 매칭ANIMAL_INS 테이블에서 동물이 입양될 때 중성화되지 않은 상태(SEX_UPON_INTAKE LIKE 'Intact%')인 데이터를 찾고, ANIMAL_OUTS 테이블에서 해당 동물이 입양된 후 중성화된 상태(SEX_UPON_OUTCOME LIKE 'Spayed%' 또는 'Neutered%')로 기록된 데이터를 조인합니다.동물 고유 ID 기준 정렬결과는 ANIMAL_ID를 기준으로 정렬되며, 동물의 ID, 종류, 그리고 이름을 반환합니다.조건을 충족하는 데이터만 반환입양 시에는 중성화되지 않은 동물이었으나, 입양 후 중성화된 동물만 필터링하여 목록에 표시됩니다. 정답은 더보기 클릭더보기더보기SELECT I.ANIMAL_ID, I.ANIMAL_TYPE, I.NA..
[프로그래머스] [PCCP 기출문제] 2번 / 퍼즐 게임 챌린지 코드 힌트이진 탐색을 통한 레벨 탐색목표는 작업을 완료하는 데 필요한 시간(curTime)이 제한 시간(limit)을 넘지 않도록 레벨을 찾아내는 것입니다.이진 탐색은 레벨(level)을 조정해가며 가장 낮은 가능한 레벨을 찾습니다.left는 1에서 시작하고, right는 주어진 작업의 최대 난이도로 설정됩니다. mid는 left와 right의 중간값으로, 작업을 완료할 수 있는지 여부를 확인하기 위한 임시 레벨로 사용됩니다.계산 로직주어진 레벨 mid보다 난이도가 높은 작업들은 해당 레벨로 난이도를 줄여야 하므로 추가적인 시간을 소모하게 됩니다.이때, 이전 작업(times[i-1])과 현재 작업(times[i])의 소요 시간이 더해져야 합니다.모든 작업을 완료한 시간이 제한 시간을 초과하면, 현재 레벨..
[프로그래머스] [PCCE 기출문제] 10번 / 공원 코드 힌트:문제 이해:mats 배열은 정사각형의 돗자리로 현재 공원에 놓을 수 있는 가장 큰 돗자리의 크기를 구하는데 사용하는 배열입니다.park는 n x m 크기의 공원 맵으로, 매트가 놓일 수 있는 빈 공간은 "-1"로 표시되어 있습니다. 매트는 "-1"로 표시된 빈 공간에만 놓일 수 있습니다.목표는 "-1"로 표시된 빈 공간 중 가장 큰 매트가 들어갈 수 있는 위치를 찾는 것입니다.매트 놓기:각 빈 공간("-1")에서 매트가 들어갈 수 있는 가장 큰 크기를 찾는 것이 목표입니다.공원 맵을 순회하면서 빈 공간이 나오면 그 위치를 기준으로 mats 배열에 있는 매트 크기 중 들어갈 수 있는 최대 크기를 찾습니다.매트는 정사각형이므로 해당 위치에서 매트가 들어갈 수 있는지를 확인해야 합니다.매트 크기 확..
[백준] 감소하는 수 (1038번) 코드 힌트 감소하는 숫자란?감소하는 숫자는 각 자리 숫자가 왼쪽에서 오른쪽으로 갈수록 작은 숫자들로 이루어진 숫자입니다. 예를 들어, 321, 520, 10 등이 있습니다. 이 코드의 목적은 입력받은 n번째 감소하는 숫자를 찾아 출력하는 것입니다.감소하는 숫자의 개수는 제한적입니다. 가장 큰 감소하는 숫자는 9876543210이고, 이러한 감소하는 숫자의 최대 개수는 1022개입니다.숫자 생성 방법:처음에는 0부터 9까지의 숫자를 시작으로 각 숫자를 확장해 나갑니다. 확장 시, 숫자의 마지막 자릿수보다 작은 숫자들만 추가로 붙여야 감소하는 숫자가 됩니다.예를 들어, 숫자 5를 시작으로 할 때, 54, 53, 52, 51, 50과 같이 마지막 자릿수 5보다 작은 숫자들을 뒤에 붙여서 새로운 숫자를 만들 수..