ALGORITHM

ALGORITHM

[SQL 연습] 프로그래머스 즐겨찾기가 가장 많은 식당 정보 출력하기

출처 : 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. 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;

ALGORITHM

[SQL 연습] 프로그래머스 조건에 부합하는 중고거래 댓글 조회하기

출처 : 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..

ALGORITHM

[백준] 1,2,3 더하기 JAVA

동적 계획법 백준 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; //..

ALGORITHM

[python3] 2022 KAKAO BLIND RECRUITMENT신고 결과 받기

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..

ALGORITHM

[python3] 2023 KAKAO BLIND RECRUITMENT 개인정보 수집 유효기간

https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚀 모든 달은 28일만 존재한다는 조건이 핵심이다. def solution(today, terms, privacies): answer = [] today_list = today.split(".") # 오늘 날짜도 날수로 바꾼다. today = int(today_list[0])*12*28 + int(today_list[1])*28 + int(today_list[2]) term_dict={} for..

ALGORITHM

[python 3] 2019 KAKAO BLIND RECRUITMENT 실패율

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 ..

ALGORITHM

백준 1012 유기농 배추

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..

ALGORITHM

[피보나치 수열] 재귀호출, 배열

🤢 1 ~ 45 번째 항으로 구한 피보나치 수열은 다음과 같다. 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 메모이제이션을 사용한 재귀 호출로 구현 할 경우 : package com.org.jmc; import java.util.Scanner; public class 피보나치..

ALGORITHM

[이진 탐색] Binary Search Algorithm

오름차순 정렬이 필수인 알고리즘이다. 특정한 값의 위치를 찾으려 할 때, 중간값을 선택하고 찾고자 하는 값의 크고 작음을 비교한다. 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..

ALGORITHM

[ALGORITHM] Dynamic programming / 동적 계획법

👌 동적 계획법. 핵심은 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-..

girin_dev
'ALGORITHM' 카테고리의 글 목록