๐Ÿ’ก Algorithm 26

[SQL] ๋™๋ช… ๋™๋ฌผ ์ˆ˜ ์ฐพ๊ธฐ - GROUP BY (Lv. 2)

JAVA ๊ธฐ๋ณธ ๊ฐœ๋…1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr 2. ํ’€์ดSELECT NAME, COUNT(NAME) AS 'COUNT' FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME - COUNT(NAME) AS 'COUNT'๊ฐ ์ด๋ฆ„์ด ๋ช‡ ๋ฒˆ ๋“ฑ์žฅํ–ˆ๋Š”์ง€ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. - GROUP BY NAMEํ•ด๋‹น ์ด๋ฆ„์ด ์‚ฌ์šฉ๋œ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ™์€ ์ด๋ฆ„๋ผ๋ฆฌ ๊ทธ๋ฃนํ™”ํ•ฉ๋‹ˆ๋‹ค. - HAVING COUNT(NAME) > 1ํ•œ ๋ฒˆ ์ด์ƒ ์‚ฌ์šฉ๋œ ์ด๋ฆ„์„ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค

[Java] ํ‘ธ๋“œ ํŒŒ์ดํŠธ ๋Œ€ํšŒ (Lv. 1)

ํ‘ธ๋“œ ํŒŒ์ดํŠธ ๋Œ€ํšŒ (Lv. 1)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr 2. ํ’€์ดclass Solution { public String solution(int[] food) { StringBuilder sb = new StringBuilder(); for (int i = 1; i  food๋ฐฐ์—ด์— ์ฃผ์–ด์ง„ ์Œ์‹์„ ๊ณตํ‰ํ•˜๊ฒŒ ๋ฐฐ์น˜ํ•˜์—ฌ ๋ฌธ์ž์—ด๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.String.valueOf(i)๋ฅผ ํ†ตํ•ด i๋ฅผ ๋ฌธ์ž์—ด(i = 2 -> "2")๋กœ ๋ฐ”๊ฟ”์ค๋‹ˆ๋‹ค. .repeat(count)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด count๋งŒํผ ๋ฐ˜๋ณตํ•ด์„œ sb.appe..

[Java] ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ - ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• (Lv. 1)

์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ - ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• (Lv. 1)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr 2. ํ’€์ดclass Solution { int gcd(int n, int m) { int r; while(m > 0) { r = n % m; n = m; m = r; } return n; } public int[] solution(int n, int m) { int[] answer = new int[2]..

[SQL] DATETIME์—์„œ DATE๋กœ ํ˜• ๋ณ€ํ™˜ - DATE_FORMAT (Lv. 2)

DATETIME์—์„œ DATE๋กœ ํ˜• ๋ณ€ํ™˜ - DATE_FORMAT (Lv. 2)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr 2. ํ’€์ดSELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS ๋‚ ์งœ FROM ANIMAL_INS; DATE_FORMAT ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด DATETIME ํ˜•์‹์„ DATE ํ˜•์‹์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.DATETIME ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‚ ์งœ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‹œ๊ฐ„ ์ •๋ณด๋„ ํฌํ•จ๋˜๊ณ , DATE ํ˜•์‹์€ ๋‚ ์งœ ์ •๋ณด๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.๋ฌธ์ œ์—์„œ๋Š” DATE ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•ด์•ผ๋˜๊ธฐ ๋•Œ๋ฌธ์— DATE_FORMAT ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๊ฒฐํ•ด์ค๋‹ˆ๋‹ค..

[SQL] ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ 10๋งˆ๋ฆฌ ๊ตฌํ•˜๊ธฐ - LIMIT (Lv. 1)

๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ 10๋งˆ๋ฆฌ ๊ตฌํ•˜๊ธฐ - LIMIT (Lv. 1)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr 2. ํ’€์ด- ํ’€์ด1SELECT ID, LENGTHFROM FISH_INFOWHERE LENGTH >= 10ORDER BY LENGTH DESC, IDLIMIT 10; - ํ’€์ด2SELECT ID, LENGTHFROM FISH_INFOWHERE LENGTH IS NOT NULLORDER BY LENGTH DESC, IDLIMIT 10; ๋ฌธ์ œ์—์„œ ๊ธธ์ด๊ฐ€ 10์ดํ•˜์ผ ๋•Œ NULL์ด๊ธฐ ๋•Œ๋ฌธ์— WHERE ์ ˆ์˜ ์กฐ๊ฑด์„ ์œ„์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๋ฉด ๋˜‘๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.LIMIT 10 ..

[SQL] ์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜๊ธฐ (1) - GROUP BY (Lv. 2)

์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜๊ธฐ (1) - GROUP BY (Lv. 2)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr 2. ํ’€์ดSELECT HOUR(DATETIME) AS HOUR, COUNT(DATETIME) AS COUNTFROM ANIMAL_OUTSWHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME)  ANIMAL_OUTS ํ…Œ์ด๋ธ”์—์„œ ์˜ค์ „ 9์‹œ(09:00)๋ถ€ํ„ฐ ์˜คํ›„ 7์‹œ(19:00)๊นŒ์ง€์˜ ๋ฐ์ดํ„ฐ๋งŒ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.๊ทธ ํ›„ HOUR ๋ณ„๋กœ ๋ฌถ๊ณ  HOUR์˜ ์˜ค๋ฆ„์ฐจ์ˆœ ๋Œ€๋กœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค

[Java] N๊ณผ M (2) - ๋ฐฑํŠธ๋ž˜ํ‚น (Lv. Sliver3)

N๊ณผ M (2) - ๋ฐฑํŠธ๋ž˜ํ‚น (Lv. Sliver3)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œhttps://www.acmicpc.net/problem/15650 2. ํ’€์ดimport java.util.*;import java.io.*;class Main { public static int N; public static int M; public static int[] arr; public static StringBuilder sb = new StringBuilder(); public static void backTracking(int cnt, int depth) { if (depth == M) { for (int value : arr) { ..

[Java] ๋‘ ์ˆ˜์˜ ํ•ฉ - ํˆฌ ํฌ์ธํ„ฐ (Lv. Sliver3)

๋‘ ์ˆ˜์˜ ํ•ฉ - ํˆฌ ํฌ์ธํ„ฐ (Lv. Sliver3)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œhttps://www.acmicpc.net/problem/3273 2. ํ’€์ดimport java.util.*;import java.io.*;public class Main { public static int two_pointer(int N, int[] a, int x) { int result = 0; int left = 0; int right = N-1; int sum = 0; Arrays.sort(a); while (left  Arrays.sort(a); ๋ฅผ ํ†ตํ•ด a ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์ •๋ ฌ ํ•ด์ค๋‹ˆ๋‹ค.  12345678left      r..

[Java] ํŠธ๋ฆฌ์˜ ๋ถ€๋ชจ ์ฐพ๊ธฐ (Lv. Sliver2)

ํŠธ๋ฆฌ์˜ ๋ถ€๋ชจ ์ฐพ๊ธฐ (Lv. Sliver2)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œhttps://www.acmicpc.net/problem/11725 2. ํ’€์ดimport java.util.*;import java.io.*;class Main { static int N; static ArrayList[] graph; static int[] parent; static boolean[] visited; public static void find_parent(int node) { visited[node] = true; for (int i : graph[node]) { if (!visited[i]) { pa..

[Java] ํŠธ๋ฆฌ ์ˆœํšŒ (Lv. Sliver1)

ํŠธ๋ฆฌ ์ˆœํšŒ (Lv. Sliver1)1. ๋ฌธ์ œ2. ํ’€์ด1. ๋ฌธ์ œhttps://www.acmicpc.net/problem/1991 2. ํ’€์ดimport java.io.*;import java.util.*;public class Main { static int[][] tree; static StringBuilder sb = new StringBuilder(); public static void preOrder(int start) { if (start != -18) { sb.append((char) (start + 'A' - 1)); preOrder(tree[start][0]); preOrder(tree[start][1]);..