[프로그래머스 Lv0] 안전지대 | 자바
·
📝 Coding Test/Programmers Lv0
문제안전지대풀이import java.util.*;class Solution { public int solution(int[][] board) { int answer = 0; // 폭탄의 위치 파악 하기 List bomb_location = new ArrayList(); for(int i = 0; i = 0 && ny >= 0 && nx if(nx >= 0 && ny >= 0 && nx ArrayIndexOutOfBoundsException : 정해진 배열의 크기보다 크거나 음수 index에 대한 요청이 있으면 ArrayIndexOutOfBoundsException이 발생합니다.
[프로그래머스] 가격이 제일 비싼 식품의 정보 출력하기 | MySQL, 오라클
·
📝 Coding Test/SQL
문제가격이 제일 비싼 식품의 정보 출력하기풀이 1서브쿼리를 이용한 풀이입니다.MySQLSELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICEFROM FOOD_PRODUCTWHERE PRICE = (SELECT MAX(PRICE) PRICEFROM FOOD_PRODUCT);오라클SELECT *FROM FOOD_PRODUCTWHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);풀이 2가격을 내림차순으로 정렬하고, 최상위 로우를 뽑아내는 풀이입니다.MySQLSELECT * FROM FOOD_PRODUCTORDER BY PRICE DESC LIMIT 1;오라클SELECT * FROM ( SELECT * FROM FOOD..
[프로그래머스] 3월에 태어난 여성 회원 목록 출력하기 | MySQL
·
📝 Coding Test/SQL
문제3월에 태어난 여성 회원 목록 출력하기풀이SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') DATE_OF_BIRTHFROM MEMBER_PROFILEWHERE DATE_FORMAT(DATE_OF_BIRTH, '%m') = '03' AND TLNO IS NOT NULL AND GENDER = 'W'ORDER BY MEMBER_ID ASC;3월에 태어난 여성을 구할 때, DATE_FORMAT 함수를 사용했습니다.[mysql] DATE_FORMAT - 날짜 형식 설정MONTH 함수를 사용해도 됩니다.
[프로그래머스] 잡은 물고기의 평균 길이 구하기 | MySQL
·
📝 Coding Test/SQL
문제잡은 물고기의 평균 길이 구하기풀이SELECT ROUND(AVG(IFNULL(LENGTH, 10)), 2) AVERAGE_LENGTHFROM FISH_INFO;오라클에서 NVL 대신 MySQL에서는 IFNULL을 사용할 수 있습니다.ROUND 함수를 이용해 n번째자리에서 반올림 할 수 있습니다.
[프로그래머스] 물고기 종류 별 대어 찾기 | MySQL
·
📝 Coding Test/SQL
문제물고기 종류 별 대어 찾기풀이SELECT FI.ID, FN.FISH_NAME, FI.LENGTHFROM FISH_INFO FI JOIN FISH_NAME_INFO FN ON FI.FISH_TYPE = FN.FISH_TYPEWHERE (FI.FISH_TYPE, FI.LENGTH) IN ( SELECT FISH_TYPE, MAX(LENGTH) FROM FISH_INFO GROUP BY FISH_TYPE)ORDER BY FI.ID;WHERE 조건에 FISH_TYPE까지 넣어줘야 정확하게 쿼리를 추출할 수 있습니다.
[프로그래머스] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 | 오라클
·
📝 Coding Test/SQL
문제대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기풀이SELECT TO_NUMBER(TO_CHAR(START_DATE, 'MM')) MONTH, CAR_ID, COUNT(*) RECORDSFROM CAR_RENTAL_COMPANY_RENTAL_HISTORYWHERE CAR_ID IN ( SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE TO_CHAR(START_DATE, 'YYYYMM') >= '202208' AND TO_CHAR(START_DATE, 'YYYYMM') = 5 ) AND TO_CHAR(START_DATE, 'YYYYMM') >= '202208' AND TO_CHAR(START_DATE, 'YYYYMM') ..
[프로그래머스] 입양 시각 구하기(2) | 오라클
·
📝 Coding Test/SQL
문제입양 시각 구하기(2)풀이SELECT A.HOUR, COUNT(B.DATETIME) COUNTFROM (SELECT LEVEL - 1 AS HOUR FROM DUAL CONNECT BY LEVEL COUNT(*)을 하면 데이터가 없어도 1로 출력하기 때문에, COUNT(B.DATETIME)으로 작성했습니다.0부터 23을 가진 테이블을 만들어주기 위해 CONNECT BY(계층적 쿼리)를 사용하였습니다.참고오라클 순번 채번 CONNECT BY LEVEL 활용하기[Oracle] 오라클 CONNECT BY 사용법 (계층형 쿼리)
[프로그래머스] 년, 월, 성별 별 상품 구매 회원 수 구하기 | 오라클
·
📝 Coding Test/SQL
문제식품분류별 가장 비싼 식품의 정보 조회하기풀이SELECT TO_CHAR(B.SALES_DATE, 'YYYY') YEAR, TO_NUMBER(TO_CHAR(B.SALES_DATE, 'MM')) MONTH, GENDER, COUNT(DISTINCT A.USER_ID) USERSFROM USER_INFO A JOIN ONLINE_SALE B ON A.USER_ID = B.USER_IDWHERE GENDER IS NOT NULLGROUP BY TO_CHAR(B.SALES_DATE, 'YYYY'), TO_NUMBER(TO_CHAR(B.SALES_DATE, 'MM')), GENDERORDER BY 1, 2, 3;1자리 숫자의 달의 경우 앞의 0을 제거하기 위해, TO_NUMBER를 사용했습니다.중복되는 유저가..
[프로그래머스] 식품분류별 가장 비싼 식품의 정보 조회하기 | 오라클
·
📝 Coding Test/SQL
문제식품분류별 가장 비싼 식품의 정보 조회하기풀이SELECT CATEGORY, PRICE MAX_PRICE, PRODUCT_NAMEFROM FOOD_PRODUCTWHERE (CATEGORY, PRICE) IN ( SELECT CATEGORY, MAX(PRICE) FROM FOOD_PRODUCT WHERE CATEGORY IN ('과자', '국', '김치', '식용유') GROUP BY CATEGORY)ORDER BY MAX_PRICE DESC;서브쿼리를 활용하여 문제를 해결했습니다.