프로그래머스 15

[프로그래머스] 도둑질 (자바) / DP

문제 설명 입력&출력 문제풀이 class Solution { public int solution(int[] money) { int answer = 0; //0부터 시작 맨 마지막 제외 int[] dp0 = new int[money.length-1]; //1부터 시작 맨 마지막 포함 int[] dp1 = new int[money.length]; dp0[0] = money[0]; dp0[1] = money[0]; dp1[0] = 0; dp1[1] = money[1]; for(int i = 2 ; i < money.length-1;i++ ){ dp0[i] = Math.max(dp0[i-2]+money[i],dp0[i-1]); } for(int i = 2; i < money.length;i++){ dp1[i] ..

[프로그래머스] 타겟 넘버(자바) / DFS

문제 제한사항 문제풀이 class Solution { static int answer; public void dfs(int[] numbers,int target,int idx,int sum){ if(idx == numbers.length){ if(sum == target) answer++; return; } sum+=numbers[idx]; dfs(numbers,target,idx+1,sum); sum-=numbers[idx]*2; dfs(numbers,target,idx+1,sum); } public int solution(int[] numbers, int target) { answer = 0; dfs(numbers,target,0,0); return answer; } } ※ 내 생각 이 문제는 DFS..

[프로그래머스] 우유와 요거트가 담긴 장바구니(SQL)

문제 설명 문제풀이 1. 서브 쿼리를 이용한 문제풀이 SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Milk' AND CART_ID IN (SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Yogurt') 2. Join을 이용한 문제풀이 SELECT M.CART_ID from (Select CART_ID from CART_PRODUCTS Where NAME='Milk') M JOIN (Select CART_ID from CART_PRODUCTS Where NAME='Yogurt') Y ON M.CART_ID=Y.CART_ID order by CART_ID; ※ 내 생각 이 문제는 2가지 방식으로 문제 해결을 할 수 있습니다. - ..

SQL 연습 2021.10.21

[프로그래머스] 다단계 칫솔 판매(자바) / 자료구조 & 구현

문제 제한사항 입출력 문제풀이 import java.util.*; class Solution { class report{ int money; String ref; public report(int money,String ref){ this.money = money; this.ref = ref; } } public int[] solution(String[] enroll, String[] referral, String[] seller, int[] amount) { int[] answer = new int[enroll.length]; HashMap hm = new HashMap(); for(int i = 0 ; i < enroll.length;i++){ hm.put(enroll[i],new report(0,re..

[프로그래머스] 행렬 테두리 회전하기 ( 자바) / 구현

문제 제한 사항 입출력 문제풀이 import java.util.*; class Solution { public int[] solution(int rows, int columns, int[][] queries) { int[] answer = new int [queries.length]; int[][] arr = new int[rows][columns]; int tmp =1; for(int i = 0 ; i < rows;i++){ for(int j = 0 ; j < columns;j++){ arr[i][j]=tmp; tmp++; } } int x1=0,x2=0,y1=0,y2=0; for(int t = 0 ; t < queries.length;t++){ x1 = queries[t][0]-1; y1 = quer..