전체 글

지식에 정성을 들이는 습관을 갖자 대충 절대 금지
알고리즘/프로그래머스

[SELECT] SQL 고득점 키트 문제 풀이 모음 - 오라클

풀 때마다 업데이트 할 예정  [LV1] 1. 평균 일일 대여 요금 구하기-- 자동차 종류가 'SUV'-- 평균 일일 대여 요금을 출력 (AVERAGE_FEE)-- 소수 첫 번째 자리에서 반올림SELECT ROUND(AVG(DAILY_FEE),0) AS AVERAGE_FEEFROM CAR_RENTAL_COMPANY_CARGROUP BY CAR_TYPEHAVING CAR_TYPE = 'SUV'  반올림 : ROUND(숫자, 반올림할 위치-1)1을 적을 경우 둘째자리에서 반올림, 아무것도 적지 않으면 첫번째자리에서 반올림올림 : CEIL(숫자)내림 : FLOOR(숫자)버림 : TRUNCATE(숫자, 버림할 위치-1)GROUP BY에 쓰인 열의 조건은 HAVING에 적어야한다. WHERE에 적으면 작동하지 않..

알고리즘

MST 알고리즘 비교 : 크루스칼 VS 프림

1) 크루스칼 간선 중심으로 최소 신장 트리를 구하는 알고리즘 1) 부모를 나 자신으로 셋팅 2) 모든 간선을 입력받을 때 우선순위큐에 넣기 3) 가중치가 적은 간선부터 꺼내 시작노드와 끝노드의 부모가 같지 않다면 Union해주고, 채택 4) 우선순위큐가 empty 상태가 되면 모든 간선을 본 것이기 때문에 끝이다. (그래서 간선의 수가 적을수록 유리하다) import java.util.*; import java.io.*; //크루스칼 class Main { static PriorityQueue pq; static int V, E; static int[] p; static int[] order; public static void main(String[] args) throws Exception { Buf..

알고리즘/백준

[다익스트라] 백준 1504번 특정한 최단 경로 - JAVA

오랜만에 다익스트라 푸니까 원리 다 까먹어버림 1. 출처 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 1~N까지 가는 최단 경로의 거리를 구하는 문제 최단 경로를 구하는 과정에서 필수 2가지 노드를 꼭 거쳐야함 2. 설계 2-1) 다익스트라의 원리 다익스트라 알고리즘은 출발지에서 연결된 모든 도착지에 대해 최단 거리를 계산한다. (연결되지 않으면 계산하지 않음) 때문에 출발지 지정이 중요하다. [다익스트라 기본 코드] public static int Dijkst..

알고리즘/프로그래머스

[프로그래머스] 상품을 구매한 회원 비율 구하기 [#SQL]

SQL JOIN 마지막 문제! LV5 문제이다 : ) LV1 부터 순차적으로 풀다보니 복잡한 쿼리문도 차근차근 풀 수 있게 되었다. 1. 출처 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 회원 중 2021년에 가입한 총 인원 수를 구할 것 (1번 조건) 1번 조건 회원 중 상품을 구매한 인원 수를 구할 것 (년도 별, 월 별) (2번 조건) 2번조건 / 1번조건 을 연산하여 년도, 월별 상품을 구매한 회원 비율을 구하는 것이 목표 정렬은 년도별 -> 월별 2. 설계 1) 2021년에 가입한 전체 회원 수 구하기 (조건1) # 1. 2021년에 가입한 전..

알고리즘/백준

[구현] 백준 1347번 미로 만들기 - JAVA

미로를 따라 움직이는 것이 아닌 움직인 발자취를 보고 미로를 그려내는 문제 처음에는 어떻게 풀지?... 많은 고민을 했다가 아이디어를 생각해내고 '아!' 하게 했던 문제! 뿌듯해서 기록해본다. 야심한 새벽에 이 무슨 코딩 체조람 1. 출처 1347번: 미로 만들기 홍준이는 미로 안의 한 칸에 남쪽을 보며 서있다. 미로는 직사각형 격자모양이고, 각 칸은 이동할 수 있거나, 벽을 포함하고 있다. 모든 행과 열에는 적어도 하나의 이동할 수 있는 칸이 있다. 홍 www.acmicpc.net 특정 크기의 지도에서 유저가 움직인 발자취가 주어진다. (직진, 왼쪽 회전, 오른쪽 회전) 발자취를 보고 지도를 다시 그려내는 문제 #은 벽, . 은 이동 가능 위치 내가 어느 위치에서 시작하는지도 주어지지 않는다는 것이 포..

알고리즘/프로그래머스

[프로그래머스] lv2. 땅따먹기 [#DP]

문제보고 Permutation 문제인 줄 알았는데, 전부 시간 초과 나서 당황했던 문제 알고 보니 DP 였다!!! 1. 출처 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr land라는 N*4 배열 각 칸에는 점수가 써져있음 이동 경로에 따라서 점수를 먹을 수 있음 연속으로 같은 열 진입 못함 가장 큰 점수를 얻을 수 있는 경로를 찾아 최대 점수를 출력하는 문제 2. 설계 순열의 시간복잡도는 O(n!)이다. 행은 최대 10만 줄 까지 나올 수 있다. 그니까 10만줄 * O(10만!)이 되어서 시간초과가 나온 것이다. 문제 대충 읽었을 때 10만줄? 1억 안..

알고리즘/프로그래머스

[프로그래머스] FrontEnd 개발자 찾기 [#SQL]

오늘은 머리털 나고 처음 접해보는 비트 연산 SQL 문제 4가지 풀이법을 가져왔다. 1. 출처 https://school.programmers.co.kr/learn/courses/30/lessons/276035 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 개발자 중에 프론트엔드 개발자를 찾을 것 개발자의 스킬코드는 2진수로 표현했을 때 bit로 구분될 수 있도록 2의 제곱수로 구성됨 예를 들어 신산하의 스킬 코드가 400 ( = 110010000) 이면, 자바스크립트 코드 256 ( = 100000000)와 자바 128( = 10000000)와 스프링1..

알고리즘/프로그래머스

[프로그래머스] 그룹별 조건에 맞는 식당 목록 출력하기 [#SQL]

JOIN LEVEL 4 문제이다. 1. 출처 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 고객정보를 담은 [MEMBER_PROFILE] 테이블 식당의 리뷰 정보를 담은 [REST_REVIEW] 테이블 리뷰를 가장 많이 작성한 회원의 전체 리뷰를 조회하는 SQL문 작성 리뷰 작성일 오름차순, 리뷰 텍스트 오름차순 정렬 2. 설계 최종적으로 리뷰를 가장 많이 쓴 사람의 ID를 찾아서 그 사람의 전체 리뷰를 출력해야 한다. 그럼 우린 세 단계를 거쳐서 답을 도출해야 한다. 첫번째, MAX 리뷰 수는 몇 개인가? 두번째, MAX 리뷰 수를 가진 회원(ID)를 ..

SHIN SANHA
산하는 코딩중