본문 바로가기

전체 글169

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.
2023년 정보처리기사 실기 최종합격 후기(비전공자) 실기 합격은 9월 1일에 발표났는데 미루고 미루다가 이제야 쓰는 합격후기... 정보처리기사 필기시험을 2021년에 합격하고 나서 공부 제대로 안하고 실기시험을 한 번 봐서 떨어졌었다. 그렇게 계속 미뤄오다가 필기시험 유효기간이 다 되어갈 때 실기시험을 다시 접수했다. 이번에 불합격하면 다시 필기시험부터 봐야하는 상황이었다. (기사 필기합격 유효기간은 2년) 그래서 이번에는 제대로 공부를 하기로 마음 먹었다. 가지고 있던 책은 개정된 정보처리기사 시험을 많이 반영하지 못해서 2023년도 실기책을 새로 사기로 했다. 프로그래밍 문제쪽이 출제 비중이 높고 어려워서 이 부분을 먼저 살펴봤는데, 유튜브에 실기 문제 풀이를 잘 해설해주는 영상이 있어서 보면서 도움이 될 것 같았다. 수제비에서 인강을 만들어서 유튜브.. 2023. 11. 22.
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.
서비스 전체 트랜잭션 롤백 처리 서비스단에서 전체 롤백 처리를 하고 싶은 경우 아래의 어노테이션을 추가한다. 1 @Transactional(rollbackFor = Exception.class) cs 2023. 11. 8.
Oracle - 프로그래머스 코딩테스트 [이름이 있는 동물의 아이디] 1234SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID;cs 2023. 11. 7.