전체 글
자바(Java) 알고리즘 문제풀이 주식가격 [프로그래머스 / 스택/큐]
문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 입출력 예시 prices return [1,2,3,2,3] [4,3,1,1,0] 입출력 예 설명 1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다. 2초 시점의 ₩2은 끝까지 가격이 떨어지지 않았습니다. 3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다. 4초 시점의 ₩2은 1초간 가격이 떨어지지 않았습니다. 5초 시점의 ₩3은 0초간 가격..
자바(Java) 알고리즘 문제풀이 프린터 [프로그래머스 / 스택/큐]
문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순서대로 인쇄 대기목록에 있고 중요도가 2 1 3 2 라면 C D A B 순으로 인쇄하게 됩니다. 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 ..
자바(Java) 알고리즘 문제풀이 순위 [프로그래머스 / 플로이드-와샬]
문제 설명 n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다. 선수의 수 n, 경기 결과를 담은 2차원 배열 results가 매개변수로 주어질 때 정확하게 순위를 매길 수 있는 선수의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 선수의 수는 1명 이상 100명 이하입니다. 경기 결과는 1개 이상 4,500개 이하입니다. results 배열 각 행 [A, B]는 A 선수가 B 선수를 이겼다는 의..
자바(Java) 알고리즘 문제풀이 가장 먼 노드 찾기 [프로그래머스 / BFS]
문제 설명 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요. 제한사항 노드의 개수 n은 2 이상 20,000 이하입니다. 간선은 양방향이며 총 1개 이상 50,000개 이하의 간선이 있습니다. vertex 배열 각 행 [a, b]는 a번 노드와 b번 노드 사이에 간선이 있다는 의미입니다. 입출력 예시 n vert..
상품 별 오프라인 매출 구하기
문제 설명 다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 상품 정보를 담은 PRODUCT 테이블과, 오프라인 상품 판매 정보를 담은 OFFLINE_SALE 테이블 입니다. PRODUCT 테이블은 아래와 같은 구조로 PRODUCT_ID, PRODUCT_CODE, PRICE 는 각각 상품 ID, 상품 코드, 판매가를 나타냅니다. 상품 별로 중복되지 않는 8자리 상품코드 값을 가지며, 앞 2자리는 카테고리 코드를 의미합니다. 아래는 PRODUCT 테이블입니다. Column name Type Nullable PRODUCT_ID INTEGER FALSE PRODUCT_CODE VARCHAR(8) FALSE PRICE INTEGER FALSE OFFLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 OFFLI..
강원도에 위치한 생산공장 목록 출력하기
문제 설명 다음은 식품공장의 정보를 담은 FOOD_FACTORY 테이블입니다. FODD_FACTORY 테이블은 다음과 같고 FACTORY_ID, FACTORY_NAME, ADDRESS, TLNO 는 각각 공장 ID, 공장 이름, 주소, 전화번호를 의미합니다. Column name Type Nullable FACTORY_ID VARCHAR(10) FALSE FACTORY_NAME VARCHAR(50) FALSE ADDRESS VARCHAR(100) FALSE TLNO VARCHAR(20) TRUE 문제 FOOD_FACTORY 테이블에서 강원도에 위치한 식품공장의 공장 ID, 공장 이름, 주소를 조회하는 SQL문을 작성해주세요. 이때 결과는 공장 ID를 기준으로 오름차순 정렬해주세요. 예시 예를 들어 FOO..
흉부외과 또는 일반외과 의사 목록 출력하기 [SELECT]
문제 설명 다음은 종합병원에 속한 의사 정보를 담은 DOCTOR 테이블입니다. DOCTOR 테이블은 다음과 같으며, DR_NAME, DR_ID, LCNS_NO, HIRE_YMD, MCDP_CD, TLNO 는 각각 의사이름, 의사 ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나타냅니다. Column name Type Nullable DR_NAME VARCHAR(20) FALSE DR_ID VARCHAR(10) FALSE LCNS_NO VARCHAR(30) FALSE HIRE_YMD DATE FALSE MCDP_CD VARCHAR(6) TRUE TLNO VARCHAR(50) TRUE 문제 DOCTOR 테이블에서 진료과가 흉부외과(CS) 이거나 일반외과(GS) 인 의사의 이름, 의사 ID, 진료과, 고..
12세 이하인 여자 환자 목록 출력하기 [SELECT]
문제 설명 다음은 종합병원에 등록된 환자정보를 담은 PATIENT 테이블입니다. PATIENT 테이블은 다음과 같으며, PT_NO, PT_NAME, GEND_CD, AGE, TLNO 는 각각 환자번호, 환자이름, 성별코드, 나이, 전화번호를 의미합니다. Column name Type Nullable PT_NO VARCHAR(10) FALSE PT_NAME VARCHAR(20) FALSE GEND_CD VARCHAR(1) FALSE AGE INTEGER FALSE TLNO VARCHAR(50) TRUE 문제 PATIENT 테이블에서 12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회하는 SQL문을 작성해주세요. 이때 전화번호가 없는 경우, 'NONE' 으로 출력시켜 주시고 결과..
재구매가 일어난 상품과 회원 리스트 구하기 [SELECT]
문제 설명 다음은 어느 의류 쇼핑몰의 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블 입니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냅니다. 동일한 날짜, 회원 ID, 상품 ID 조합에 대해서는 하나의 판매 데이터만 존재합니다. Column name Type Nullable ONLINE_SALE_ID INTEGER FALSE USER_ID INTEGER FALSE PRODUCT_ID INTEGER FALSE SALES_AMOUNT INTEGER FALSE SALES_DATE DATE ..
2022.11.14 (월요일) ~ 2022.11.18 (금요일) 주간 및 일일 학습계획
주간목표 2022.11.14 ~ 2022.11.18 컨디션 관리 주 3회 이상 운동 알고리즘 모의고사 진행 (화요일, 목요일) Issue Tracker 통합 테스트 마무리 이력서 작성 시작 이코테 및 CS 공부 재개 일일목표 2022.11.14 (월요일) Issue Tracker Controller Integration Test 작성 Conmment Controller Integration Test Issue Controller Integration Test 이코테 진도 나가기 (여러가지 그래프 이후부터 시작) Union - Find 알고리즘 최소 신장 트리 (크루스칼) 알고리즘 일일목표 2022.11.15 (화요일) 이코테 진도 실전 문제 풀이 시작 백준 위상정렬 선수과목 문제풀이 백준 DFS/BFS ..