2025/02 31

[Javascript] var, let, const ์ฐจ์ด์ ๊ณผ ํ˜ธ์ด์ŠคํŒ…

var, let, const ์ฐจ์ด์ ๊ณผ ํ˜ธ์ด์ŠคํŒ…1. var, let, const ์ฐจ์ด์ 2. ํ˜ธ์ด์ŠคํŒ…1. var, let, const ์ฐจ์ด์ var์€ ES6 ์ด์ „์— ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋˜ ๋ณ€์ˆ˜ ์„ ์–ธ ํ‚ค์›Œ๋“œ๋กœ ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.var๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๊ฐ€ ํ•จ์ˆ˜ ๋‚ด์—์„œ๋งŒ ์ง€์—ญ ๋ณ€์ˆ˜๋กœ ์ž‘๋™ํ•˜๊ณ , ํ•จ์ˆ˜ ์™ธ๋ถ€์—์„œ๋Š” ์ „์—ญ ๋ณ€์ˆ˜๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. let, const๋Š” ES6์—์„œ ๋„์ž…๋œ ๋ณ€์ˆ˜ ์„ ์–ธ ํ‚ค์›Œ๋“œ๋กœ ๋ธ”๋ก ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.let๊ณผ const๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๊ฐ€ ์ค‘๊ด„ํ˜ธ๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ๋ธ”๋ก ๋‚ด์—์„œ๋งŒ ์œ ํšจํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. 2. ํ˜ธ์ด์ŠคํŒ…๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜ ์„ ์–ธ์„ ์ฝ”๋“œ์˜ ์ตœ์ƒ๋‹จ์œผ๋กœ ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ํŠน์„ฑ์ž…๋‹ˆ๋‹ค.var๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ํ˜ธ์ด์ŠคํŒ…๋˜์–ด undefined๋กœ ์ดˆ๊ธฐํ™” ๋˜๊ณ , let๊ณผ const๋Š” ํ˜ธ์ด์ŠคํŒ…์ด ๋˜์–ด๋„ ์ดˆ..

[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] ์ •์ˆ˜ํ˜• ๋น„ํŠธ ์—ฐ์‚ฐ

์ •์ˆ˜ํ˜• ๋น„ํŠธ ์—ฐ์‚ฐ ๋น„ํŠธ ์—ฐ์‚ฐ์„ ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋‹ค๋ณด๋‹ˆ ๊ธฐ์–ต์ด ๋‚˜์ง€ ์•Š๋Š” ์ด์Šˆ๋กœ ์ธํ•ด ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค,,a๊ฐ€ 13์ด๊ณ , b๊ฐ€ 4์ผ ๋•Œ ์ •์ˆ˜ํ˜• ๋น„ํŠธ ์—ฐ์‚ฐ์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. System.out.println(a & b) a๋Š” ์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ฉด 1101, b๋Š” ์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ฉด 0100 ์ž…๋‹ˆ๋‹ค.a์™€ b์˜ ์ด์ง„์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋‘ ๋น„ํŠธ๊ฐ€ ๋ชจ๋‘ 1์ผ ๋•Œ๋งŒ 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.์ด๋•Œ, 0100 ๊ฒฐ๊ณผ๊ฐ’์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๊ณ  ์ด๋Š” 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด 4๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. System.out.println(a | b) a์™€ b์˜ ์ด์ง„์ˆ˜๋ฅผ ๋น„๊ตํ•˜์—ฌ ํ•œ ๋น„ํŠธ๋ผ๋„ 1์ด๋ฉด 1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.์ด๋•Œ, 1101 ๊ฒฐ๊ณผ๊ฐ’์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๊ณ  ์ด๋Š” 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด 13์ด ๋ฉ๋‹ˆ๋‹ค. System.out.println(a ^ b) XOR ์—ฐ์‚ฐ์œผ๋กœ a์™€ b์˜ ์ด์ง„์ˆ˜..

[JUnit] JUnit์œผ๋กœ ์ƒํ’ˆ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ

JUnit์œผ๋กœ ์ƒํ’ˆ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ์ƒํ’ˆ ์‚ญ์ œ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ์„ค๋ช…ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. @Mockprivate ProductRepository productRepository;@InjectMocksprivate ProductService productServiceUnderTest; ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ํด๋ž˜์Šค ์•ˆ์— @Mock ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๊ฐ€์งœ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค.๋‹ค์Œ์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋ฉ”์„œ๋“œ ์•ˆ์— @Test ์–ด๋…ธํ…Œ์ด์…˜์„ ์ง€์ •ํ•ด์ฃผ๊ณ  Given-When-Then ๋ฐฉ์‹์„ ํ™œ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์ค๋‹ˆ๋‹ค. - GivenUUID storeId = UUID.randomUUID();UUID productId = UUID.randomUUID();Store mockSto..

[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]);..

[Git] Git Clone, Fork

Git Clone, Fork1. Git Clone2. Fork1. Git Clone๊ฐ™์€ ์ €์žฅ์†Œ์—์„œ ํŒ€์›๊ณผ ํ•จ๊ป˜ ์ž‘์—…ํ•  ๊ฒฝ์šฐ์—๋Š” git clone์„ ํ†ตํ•ด ์›๋ณธ ์ €์žฅ์†Œ๋ฅผ ๋กœ์ปฌ์— ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค. 2. Fork๋‹ค๋ฅธ ์‚ฌ๋žŒ(ํŒ€)์˜ ์ €์žฅ์†Œ์—์„œ ๋‚ด ๊ณ„์ •์œผ๋กœ ๋ณต์‚ฌ ํ›„ ์ˆ˜์ •ํ•  ๋•Œ fork๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.PR๋กœ ์›๋ณธ์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ ๊ธฐ์—ฌ ๋˜๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ํ™œ์šฉํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค