본문 바로가기

코딩테스트/프로그래머스48

Oracle - 프로그래머스 코딩테스트 [즐겨찾기가 가장 많은 식당 정보 출력하기] 문제 https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 12345678SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY FOOD_TYPE ORDER BY FOOD_TYPE) RNUM , FOOD_TYPE, REST_ID, REST_NAME, FAVORITES FROM REST_INFO ORDER BY FOOD_TYPE DESC, .. 2023. 11. 27.
Oracle - 프로그래머스 코딩테스트 [대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기] 문제 https://school.programmers.co.kr/learn/courses/30/lessons/151139 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답에 근접한 것 같은데 계속 틀렸다길래 보니 8월~10월의 데이터만 나와야 하는 것이었다... HAVING절 추가해서 정답! 1 2 3 4 5 6 7 8 9 10 11 12 SELECT TO_NUMBER(TO_CHAR(START_DATE, 'FMMM')) MONTH, CAR_ID, COUNT(HISTORY_ID) RECORDS FROM CAR_RENTAL_COMPANY_RENTAL_HIS.. 2023. 11. 27.
Oracle - 프로그래머스 코딩테스트 [자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기] 문제 https://school.programmers.co.kr/learn/courses/30/lessons/157340 1. CASE WHEN 절로 '대여중'과 '대여 가능'은 기간별로 구분했는데 이걸 CAR_ID별로 어떻게 하나씩 출력하나에서 고민 시작 2. 동기에게 들으니 대여중, 대여 가능을 MAX를 이용해서 풀이한 방법이 있다고 했음. 3. MAX 말고 다른 방법은 없을까 생각하다가 ROW_NUMBER() 이 생각났음. - CAR_ID별로 '대여중'인 ROW를 제일 위에 정렬하고 ROW_NUMBER을 1부터 부여해서 ROW_NUMBER이 1인 ROW만 출력하여 해결! 12345678910111213SELECT A.CAR_ID, A.AVAILABILITY FROM ( SELECT ROW_NUMBE.. 2023. 11. 24.
Oracle - 프로그래머스 코딩테스트 [조건에 맞는 사용자와 총 거래금액 조회하기] 문제 https://school.programmers.co.kr/learn/courses/30/lessons/164668 결과도 잘 나오고 다 맞은 것 같은데 뭐가 틀렸을까 계속 고민하다가 문제를 다시 읽어보니 '완료된 중고 거래의 총금액이 70만 원 이상'이라는 문구가 눈에 들어왔다. STATUS 조건 넣어주니 정답! 1 2 3 4 5 6 7 8 SELECT USER_ID, NICKNAME, A.TOTAL_SALES FROM USED_GOODS_USER U INNER JOIN ( SELECT WRITER_ID, SUM(PRICE) TOTAL_SALES FROM USED_GOODS_BOARD WHERE STATUS = 'DONE' GROUP BY WRITER_ID HAVING SUM(PRICE) >= 7.. 2023. 11. 22.
Oracle - 프로그래머스 코딩테스트 [조건에 맞는 사용자 정보 조회하기] 문제 https://school.programmers.co.kr/learn/courses/30/lessons/164670 1. too many values 에러 : 서브쿼리절에 WRITER_ID, COUNT(BOARD_ID) 두 가지를 SELECT 해서 생긴 문제. COUNT(BOARD_ID) 지워서 해결됨. 2. 다 맞았는데 왜 정답처리 안될까 의문을 가질 때쯤 번뜩 생각난 상세주소 띄어쓰기... CITY 뒤에만 공백 넣어줬는데 상세주소 뒤에도 하나 더 있었음. 1 2 3 4 5 6 7 8 9 10 11 12 SELECT USER_ID , NICKNAME , CITY || ' ' || STREET_ADDRESS1 || ' ' || STREET_ADDRESS2 AS "전체주소" , SUBSTR(TLNO,.. 2023. 11. 22.
Oracle - 프로그래머스 코딩테스트 [이름이 있는 동물의 아이디] 1234SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID;cs 2023. 11. 7.