diff --git "a/BOJ/1000-5000\353\262\210/JY_1707.java" "b/BOJ/1000-5000\353\262\210/JY_1707.java" new file mode 100644 index 00000000..db3a593d --- /dev/null +++ "b/BOJ/1000-5000\353\262\210/JY_1707.java" @@ -0,0 +1,73 @@ +import java.io.*; +import java.util.*; +public class JY_1707 { + + static int T, N, M; + static List[] g; + static boolean[] visited; + static int[] crr; + static boolean isOk; + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + T = Integer.parseInt(st.nextToken()); + StringBuilder sb = new StringBuilder(); + for(int t=0; t(); + } + + for(int i=0; i cMap; + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + N = Integer.parseInt(st.nextToken()); + M = Integer.parseInt(st.nextToken()); + g = new char[N][M]; + + parent = new int[N*M]; + for(int i=0; i(); + cMap.put('U', 0); + cMap.put('D', 1); + cMap.put('L', 2); + cMap.put('R', 3); + + for(int i=0; i cSet = new HashSet<>(); + for(int i=0; i=0 && x=0 && y hMap; + static List tList; + static int ans; + static class Hospital { + int num, x, y; + + public Hospital(int num, int x, int y) { + super(); + this.num = num; + this.x = x; + this.y = y; + } + + @Override + public String toString() { + return "Hospital [num=" + num + ", x=" + x + ", y=" + y + "]"; + } + + } + + public static void main(String[] args) throws IOException{ + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + N = Integer.parseInt(st.nextToken()); + M = Integer.parseInt(st.nextToken()); + + g = new int[N][N]; + hMap = new HashMap<>(); + int n = 0; + for(int i=0; i(); + ans = Integer.MAX_VALUE; + // 최대 경우의 수 : 100(사람수) * 13C7 * 7 + comb(0, 0); + + System.out.println(ans); + } + public static void comb(int depth, int start) { + if(depth == M) { + int score = find(tList); + ans = Math.min(ans, score); + return; + } + for(int i=start; i hList) { + int total = 0; + // 사람 반복 + for(int i=0; i gSet = new HashSet<>(); + for(String g: gems) { + gSet.add(g); + } + int total = gSet.size(); + + + int minR = Integer.MAX_VALUE; + // 투포인터 활용 + int s = 0; + int e = s; + Map gMap = new HashMap<>(); + while(e < gems.length) { + // System.out.println(">> now: "+gMap+", s:"+s+",e:"+e); + // 보석 추가 + gMap.put(gems[e], gMap.getOrDefault(gems[e], 0)+1); + + // 현재 구간(gMap의 보석들)이 모든 보석을 포함함 + // 총 보석의 개수가 total보다 작을 떄까지 s증가 + while(gMap.keySet().size() == total) { + // 더 짧은 구간 + if(minR > (e-s)) { + minR = (e-s); + answer[0] = s+1; + answer[1] = e+1; + } + // s지점의 보석 감소 + gMap.put(gems[s], gMap.get(gems[s])-1); + // 감소 후, gems[s]의 개수가 0이된다면 gMap에서 삭제 + if(gMap.get(gems[s]) == 0) gMap.remove(gems[s]); + s++; + } + + e++; + + } + + return answer; + } +} \ No newline at end of file diff --git "a/SQL/22\354\243\274\354\260\250/JY_\354\213\235\355\222\210\353\266\204\353\245\230\353\263\204_\352\260\200\354\236\245_\353\271\204\354\213\274_\354\213\235\355\222\210\354\235\230_\354\240\225\353\263\264_\354\241\260\355\232\214\355\225\230\352\270\260.sql" "b/SQL/22\354\243\274\354\260\250/JY_\354\213\235\355\222\210\353\266\204\353\245\230\353\263\204_\352\260\200\354\236\245_\353\271\204\354\213\274_\354\213\235\355\222\210\354\235\230_\354\240\225\353\263\264_\354\241\260\355\232\214\355\225\230\352\270\260.sql" new file mode 100644 index 00000000..dcda9147 --- /dev/null +++ "b/SQL/22\354\243\274\354\260\250/JY_\354\213\235\355\222\210\353\266\204\353\245\230\353\263\204_\352\260\200\354\236\245_\353\271\204\354\213\274_\354\213\235\355\222\210\354\235\230_\354\240\225\353\263\264_\354\241\260\355\232\214\355\225\230\352\270\260.sql" @@ -0,0 +1,11 @@ +-- 식품분류별 가장 비싼 식품의 정보 조회하기 +-- https://school.programmers.co.kr/learn/courses/30/lessons/131116 +SELECT CATEGORY, PRICE AS MAX_PRICE, PRODUCT_NAME +FROM FOOD_PRODUCT +WHERE (CATEGORY, PRICE) IN ( + SELECT CATEGORY, MAX(PRICE) + FROM FOOD_PRODUCT + WHERE CATEGORY IN('과자', '국', '김치', '식용유') + GROUP BY CATEGORY +) +ORDER BY MAX_PRICE DESC \ No newline at end of file