본문 바로가기

프로그래머스 풀이

(90)
[프로그래머스SQL] 부서별 평균 연봉 조회하기 https://school.programmers.co.kr/learn/courses/30/lessons/284529 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 먼저 JOIN 한 후 JOIN 한 테이블에서 필요한 정보를 그룹바이하여 원하는 것을 가져오면 되는 문제이다. 여기서 중요한 건 반올림하는 함수를 아는가? 였는데 NUM = 123.456 ROUND(NUM, 0) = 123ROUND(NUM, 1) = 123.5 알아두자!SELECT HR_DEPARTMENT.DEPT_ID, HR_DEPARTMENT.DEPT_NAME_EN, ROUND(AVG(SAL), ..
[프로그래머스 SQL] 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/298519 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr NULL이면 10으로 쳐야해서 이걸 대체 어떻게 처리해야하나 고민했는데  AVG(IFNULL(LENGTH, 10)) 이렇게 하면 LENGTH 가 NULL이면 10으로 쳐서 계산해준다고 한다 ;;; 이걸 알고 있으면 갑자기 쉬워진다. 그냥 구해서 HAVING 으로 정보 빼내서 양식에 맞게 AS 만 해주면 된다. -- 코드를 작성해주세요SELECT COUNT(FISH_TYPE) AS FISH_COUNT..
[프로그래머스 SQL] 조건에 맞는 사용자 정보 조회하기 https://school.programmers.co.kr/learn/courses/30/lessons/164670 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 두 테이블이 존재할 때 하나의 조건을 따져 결과물을 내놓고 그 값과 WHERE 조건으로 맞추면 되는 문제이다. 먼저 USED_GOODS_BOARD 테이블에서 아이디로 그룹화하여 각 아이디가 몇개 있는지 확인하고 HAVING 구문으로 아이디의 개수가 3이상인 것만 남긴다. 그리고 WHERE와 IN 구문을 사용하여 원하는 정보를 가져온다. 그러나 이 문제의 핵심은 CONCAT, SUBSTR 함수 쓸 줄..
[프로그래머스Lv3] 단속카메라 (Java) https://school.programmers.co.kr/learn/courses/30/lessons/42884?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 처음에 문제를 잘 파악하지 못해서 반대로 풀었는데 예제가 다 맞더라... 진짜 코테였으면 나 N솔인데(N솔아님ㅋㅋ)가 될 뻔 했다. [1,3], [6,7] 일 때 빠져나가는 것을 기준해야한다. 만약 1, 3이 기준인데 즉 1에서 들어와 3에서 나가는 자동차를 잡는 카메라이니 최소 3과 같은 시간에 도로에 들어와야하는데 6에 들어온다. 즉 end  import java.util..
[프로그래머스 SQL] 즐겨찾기가 가장 많은 식당 정보 출력하기 https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr GROUP BY 에 대해 조금 더 이해할 수 있었던 문제이다. GROUP BY는 어떠한 컬럼을 기준으로 모든 것을 묶는 구문이다. REST_IDREST_NAMEFOOD_TYPEVIEWSFAVORITESPARKING_LOTADDRESSTEL00001은돼지식당한식1150345734N서울특별시 중구 다산로 149010-4484-875100002하이가쯔네일식120034112N서울시 중구 신당동 375-21..
[프로그래머스 SQL] 대여 기록이 존재하는 자동차 리스트 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/157341 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 각 테이블에서 원하는 정보를 가져오면 된다.  CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 먼저 원하는 조건의 행을 가져온다. 10월에 시작했다는 조건이 있는 ID를 가져온다. 그리고 IN 구문으로 CAR_RENTAL_COMPANY_CAR에서 ID 를 가져온다. 그리고 WHERE 구문으로 세단인 것들만 출력하면 완성이다. -- 코드를 입력하세요SELECT C.CAR_ID ..
[프로그래머스 SQL]오랜 기간 보호한 동물(2) https://school.programmers.co.kr/learn/courses/30/lessons/59411 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr FROM 절에서 조인한 후ORDER BY 로 DATETIME - DATETIME하면 되는 문제이다. 연산을 오더바이할 수 있나 해봤는데  이게 되네?? -- 코드를 입력하세요SELECT AI.ANIMAL_ID, AI.NAME FROM ANIMAL_INS AI JOIN ANIMAL_OUTS AOON AI.ANIMAL_ID = AO.ANIMAL_IDORDER BY AO.DATETIME - AI.DATET..
[프로그래머스 LV3] 풍선 터트리기 (C++) https://school.programmers.co.kr/learn/courses/30/lessons/68646 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 워.. 정말 어려운 문제였다. 감도잡히지 않았다..! 먼저 처음엔 DP인가 싶었지만  1 2 3 4 5 에서 1 2를 선택했을 때의 결과는 1 2 4 5 에서 1,2를 선택했을 때의 결과와 아주 달라진다. 그리고 전체 시뮬레이션을 돌리는 것은 어려운 것은 아니지만 당연히 시간초과가 발생할만한 N의 크기였다. 그래서 이 문제의 해결법은 먼저 작은 단위에서 생각해보는 것이다. 가운데를 기준으로4가지 경우..