출처 : 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 쿼리 (ORACLE) : SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES FROM REST_INFO WHERE (FOOD_TYPE, FAVORITES) IN ( SELECT FOOD_TYPE, MAX(FAVORITES) as FAVORITES FROM REST_INFO GROUP BY FOOD_TYPE ) ORDER BY FOOD_TYPE DESC;
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/164673 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 쿼리 (ORACLE) : SELECT ugb.title, ugb.board_id, rply.reply_id, rply.writer_id, rply.contents, TO_CHAR(rply.created_date, 'YYYY-MM-DD') AS created_date FROM USED_GOODS_BOARD ugb LEFT JOIN USED_GOODS_REPLY rply on ugb.boa..
동적 계획법 백준 1,2,3 더하기 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 동적 계획법 DP 를 떠올리며 문제를 풀기는 쉽지 않다. import java.util.Scanner; public class 백준1_2_3더하기 { /* ex ) 3 4 7 10 */ static int[] dp = new int[11]; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); dp[1] = 1; dp[2] = 2; //..
https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import defaultdict def solution(id_list, report, k): id_list_map = {key: 0 for key in id_list} d = defaultdict(list) for item in report: sender, receiver = item.split() if sender not in d[receiver]: d[recei..
https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 실패율 문제 # 초안 ( 런타임 에러 발생. ) def solution(N, stages): answer = [] stage_maps = {} for i in range(1, N+1, +1): challenger = [num for num in stages if num >= i] failure = [num for num in stages if num == i] failure_rate ..
https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class 백준1012유기농배추 { static int[][] baecho; static int M; s..
오름차순 정렬이 필수인 알고리즘이다. 특정한 값의 위치를 찾으려 할 때, 중간값을 선택하고 찾고자 하는 값의 크고 작음을 비교한다. O(log n) 의 시간복잡도를 가진다. 하지만 최악의 경우에는 한쪽으로 편향된 트리가 될 수 있다. 이러한 케이스에는 시간복잡도가 O(n) 이 된다. public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.next()); int m = Integer.parseInt(sc.next()); int[] array = new int[n]; for (int i=0; i< n; i++) { array[i] = Integer.parseInt(sc.nex..
👌 동적 계획법. 핵심은 top down / bottom up 방식에서 중복되는 연산을 피하는 것. -> O(2^n)의 시간복잡도를 가지게 될 경우 ( 재귀 함수 ) -> 연산의 횟수가 늘어난다. -> 콜 스택이 많이 늘어나므로 성능이 안좋아진다. 성능뿐만이 아닌 한계점까지 갈 경우 에러도 발생한다. 이미 연산을 한 과정을 다시 연산하는 부분이 생겨난다. 😔 피보나치 수열로 예시를 많이 든다. public class pbnc { public static void main(String[] args) { int n = 10; } // 반복되는 연산을 고려하지 않음. static int ffibo1( int x ) { if (x == 1 || x== 2) { return 1; } return ffibo1(x-..