https://school.programmers.co.kr/learn/courses/30/lessons/12946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { static List move = new ArrayList(); public int[][] solution(int n) { hanoi(n, 1, 3, 2); int[][] answer = new int[move.size()][2]; for(int i = 0; i < move.size(); i++){ answer[i] = move.g..
Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { static int mod; public String solution(int n) { StringBuilder ans = new StringBuilder(); String[] number = {"4", "1", "2"}; while(n > 0) { mod = n % 3; n /= 3; if(mod == 0) //나머지 0인 경우 몫..
🎯 다익스트라? 그래프에서 최단 거리를 구하는 알고리즘 ✅ 하나의 정점에서 다른 모든 정점까지의 최단 거리를 구하는 알고리즘 (출발 노드와 이어진 모든 노드 간 최단 거리 검색) - 출발 노드 ~ 목적지 노드 사이 최단 거리 뿐만 아니라, 출발 노드와 연결된 모든 노드들의 최단 거리 얻을 수 있음 ✅ 간선 가중치는 모두 양수여야 함! ✅ 시간 복잡도 : O(ElogV) ➡️ 특정 노드에서 다른 노드들의 최단 거리를 구하는 문제가 주어진 경우 사용한다! 🔻 과정 1. 주어진 그래프를 인접 리스트로 구현 2. 최단 거리 배열 초기화 : 최단 거리 배열(D[N]) 생성 → D[출발 노드] = 0, 나머지는 MAX 로 초기화 3. 최단 거리 배열에서 현재 값이 가장 작은 노드 선택 (처음은 당연히 출발 노드 시..
https://www.acmicpc.net/problem/2631 2631번: 줄세우기 KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 www.acmicpc.net import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader..
https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] dp = new int[N + 1]; dp[0] = 1; for (int i = 2; i
https://school.programmers.co.kr/learn/courses/30/lessons/157340 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr /* 대여 시작일 대여 가능, 1 -> 대여중 (대여 불가능한 경우가 하나라도 있으면 불가능하므로)*/ '대여중', '대여 가능') AS AVAILABILITY -- NULL이 없는 경우 FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY CAR_ID ORDER BY CAR_ID DESC; 참고 : https://school.programmers.co.kr/qu..
https://school.programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr WITH RECURSIVE H AS ( SELECT 0 AS HR UNION ALL SELECT HR + 1 FROM H WHERE HR < 23) SELECT H.HR HOUR, IFNULL(T.CNT, 0) COUNT FROM H LEFT JOIN (SELECT DATE_FORMAT(DATETIME, '%H') HOUR, COUNT(*) CNT FROM ANIMAL_OUTS GROUP BY D..
https://school.programmers.co.kr/learn/courses/30/lessons/144856 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr WITH SALES AS (SELECT B.PRICE * S.CNT TOTAL_SALES, B.AUTHOR_ID AID, B.CATEGORY FROM BOOK B LEFT JOIN (SELECT SUM(SALES) CNT, BOOK_ID FROM BOOK_SALES WHERE SALES_DATE BETWEEN '2022-01-01' AND '2022-01-31' GROUP BY BOOK_ID) ..
https://school.programmers.co.kr/learn/courses/30/lessons/164668 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT BOARD.UID USER_ID, USERS.NICKNAME, BOARD.TOTAL_SALES FROM USED_GOODS_USER USERS RIGHT JOIN (SELECT WRITER_ID UID, SUM(PRICE) TOTAL_SALES FROM USED_GOODS_BOARD WHERE STATUS = 'DONE' GROUP BY UID HAVING TOTAL_SALES >=..
https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT R.FOOD_TYPE, R.REST_ID, R.REST_NAME, R.FAVORITES FROM REST_INFO R RIGHT JOIN (SELECT FOOD_TYPE FT, MAX(FAVORITES) FAV FROM REST_INFO GROUP BY FOOD_TYPE) MF ON R.FAVORITES = MF.FAV AND R.FOOD_TYPE = MF.FT ORDER BY FO..
https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Collections; import java.util.PriorityQueue; public class Main { static int num; public static void main..
https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static int N; static int[] cardPack; public static void main(String[] args) throws IOException..