[프로그래머스][MySQL] 조건에 맞는 도서 리스트 출력하기
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/144853 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krSELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATEFROM BOOKWHERE PUBLISHED_DATE >= '2021-01-01' AND PUBLISHED_DATE 여기서도 order by 에 쓰인 published_date 는 alias를 보는 것일 수 있어서 정확하게 한다면 book.published_date 로 할 수 있다.하지만 이 문제에서는 published_d..
[프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming))][Java] N으로 표현
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 처음보는 형태의 dp 문제였다.점화식으로 이전 값을 활용하는 것이 아니라나올 수 있는 결과들을 다음 결과들을 만드는 데 사용한다.여기서 출력 조건이 8개보다 크면 -1을 출력을 하라고 했는데이건 다 풀고 나서야 힌트라는 것을 알게 되었다.8개까지만 구하고 그 이후는 계산할 필요가 없다는 생각으로사용갯수가 1개인 것부터 하나씩 나올 수 있는 결과들을 만들어서 넘어가는 식으로 풀 수 있다.연산의 결과가 중복이 많았기 때문에 Set으로 관리했다.N을 1개..
[프로그래머스][MySQL] 조건에 맞는 회원수 구하기
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/131535 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krJOINED 에서 연도만 잘라서 비교.SELECT COUNT(*) AS USERSFROM USER_INFOWHERE DATE_FORMAT(JOINED, '%Y') = '2021' AND AGE >= 20 AND AGE DATE 타입은 DATE_FORMAT으로 문자열로 가공해서 사용하는 것보다 범위로 구하는 것이 인덱스 활용에 더 유리하다. BETWEEN은 양 끝 값을 모두 포함할 때 사용.SELECT COUNT(*) AS USERSFROM USER_I..
[프로그래머스][MySQL] 인기있는 아이스크림
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/133024 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krSELECT FLAVORFROM FIRST_HALFORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ASC;
[프로그래머스][MySQL] 흉부외과 또는 일반외과 의사 목록 출력하기
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/132203 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krHIRE_YMD는 DATE 타입이지만 프로그래머스에서 그냥 출력하면 시간까지 나오기 때문에별도로 FORMAT을 해줘야함SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMDFROM DOCTORWHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'ORDER BY HIRE_YMD DESC, DR_NAME ASC; 위 코드와 같은 의미지만 IN 쿼리를 쓰는 게 ..
[프로그래머스 알고리즘 고득점 Kit][그래프][Java] 방의 개수
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/49190 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr내가 지나간 점을 내가 지나 온 길이 아닌 방향으로 도달한다면 하나의 방이 생김그렇다면 내가 밟은 점을 기록하고 다시 도달했을 때밟은 점인지 지나온 길인지 아닌지 판별해야함x * row + y 와 같은 인코딩 방식 + Set 으로 진행하려다가class로 풀어보고 싶었음같은 x값 y값이라도 객체가 다르면 다르다고 인식하기 때문에equals 와 hashCode를 오버라이드 해줘서 같은 좌표면 같은 점이라 인식하도록 함문제를 풀 수 있었음여기서 교점이 꼭 점이..