Banner

My Tech Blog (์ฝ”๋”ฉํ…Œ์ŠคํŠธ)

๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹์ผ๋‹จ ์ˆซ์ž ์‚ฌ์ด์˜ ๊ทœ์น™์„ ์ฐพ์•„์ฃผ์—ˆ๋‹ค.  ๋…ธํŠธ์— ํ•ด์„œ ์ข€ ์ง€์ €๋ถ„ํ•œ๋ฐbrown + yellow๋ฅผ ํ•ด ์ค€ ๋’ค ๊ทธ ์ˆซ์ž์˜ ์•ฝ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ฐพ์•„๋‚ธ๋‹ค. ์•ฝ์ˆ˜๋“ค์˜ ์ค‘๊ฐ„๊ฐ’์ด ์ฐพ๊ณ ์ž ํ•˜๋Š” ์ˆซ์ž์ด๋‹ค.๋Œ€์‹ , ์ž…์ถœ๋ ฅ ์˜ˆ๋ฅผ ๋ณด๋ฉด ๋” ํฐ ์ˆซ์ž๊ฐ€ ๊ฐ€๋กœ์ด๊ณ  ๋” ์งง์€ ์ˆซ์ž๊ฐ€ ์„ธ๋กœ๋‹ค. brownyellowreturn102[4, 3]81[3, 3]2424[8, 6] ์—ฌ๊ธฐ์„œ brown + yellow ํ•ด ์ฃผ๋ฉด ๊ฐ๊ฐ10+2 = 128 + 1 = 924 + 24 = 48 12์˜ ์•ฝ์ˆ˜ [1, 2, 3, 4, 6, 12]9์˜ ์•ฝ์ˆ˜ [1, 3, 9] 48์˜ ์•ฝ์ˆ˜ [1, 2, 3, 4, 6, 8, 12, 16, 24, 48] ์ค‘ ์ •๋‹ต์€ ์•ฝ์ˆ˜์˜ ๊ฐฏ์ˆ˜๊ฐ€ ์ง์ˆ˜๋ฉด ๊ฐ€์šด๋ฐ ์žˆ๋Š” ์ˆซ์ž ๋‘ ๊ฐœ ์ด๋‹ค. (์ถœ๋ ฅ์€ ํฐ ์ˆซ์ž ๋จผ์ € ํ•ด์•ผ ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์˜ˆ์ œ #1[1, 7]์œผ๋กœ๋Š” ์†Œ์ˆ˜ [7, 17, 71]๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์˜ˆ์ œ #2[0, 1, 1]์œผ๋กœ๋Š” ์†Œ์ˆ˜ [11, 101]๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.11๊ณผ 011์€ ๊ฐ™์€ ์ˆซ์ž๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹(1) ์†Œ์ˆ˜ ํŒ๋ณ„ํ•˜๋Š” ๋ฉ”์„œ๋“œ isPrime ๋งŒ๋“ค๊ธฐpublic static boolean isPrime(int num) {        if (num   Math.sqrt()์ฃผ์–ด์ง„ ํ•จ์ˆ˜๋กœ ์ œ๊ณฑ๊ทผ ๋งŒ๋“œ๋Š” ๋ฉ”์„œ๋“œ Square root๋ฅผ ์ค„์—ฌ์„œ sqrt์†Œ์ˆ˜์ธ์ง€ ํŒ๋ณ„ํ•˜๋Š” ๋ฐฉ์‹ : ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด (2) ์ˆœ์—ด ์ƒ์„ฑํ•˜๋Š” ๋ฉ”์„œ๋“œ generatePeremutations ๋งŒ๋“ค๊ธฐ// ์ˆœ์—ด์„ ์ƒ์„ฑํ•˜๋Š” ์žฌ๊ท€ ๋ฉ”์„œ๋“œpublic void generatePermutations(String p..
1. ๋ฌธ์ œ ์„ค๋ช…2. ์ ‘๊ทผ๋ฐฉ์‹ECOLI_DATA๋Š” ๋ถ€๋ชจ-์ž์‹๊ฐ„์˜ ๊ณ„์ธต ๊ด€๊ณ„๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ์„ธ๋Œ€๋ณ„๋กœ ์ž์‹์ด ์—†๋Š” ๊ฐœ์ฒด์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋ ค๋ฉด ์žฌ๊ท€ CTE๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋Œ€์žฅ๊ท ์˜ ์„ธ๋Œ€generation)๋ฅผ ๊ณ„์‚ฐํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. WITH RECURSIVE ๋ธ”๋ก์„ ๋จผ์ € ์ง€์ • ํ•ด ์ฃผ๊ณ , ๋ธ”๋ก ๋ฐ”๊นฅ์—์„œ ์„ธ๋Œ€๋ณ„๋กœ ์ž์‹์ด ์—†๋Š” ๊ฐœ์ฒด์ˆ˜๋ฅผ ์กฐํšŒํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์งœ ์ฃผ๋ฉด ๋œ๋‹ค. WITH RECURSIVE ๋ธ”๋ก์€ ๋˜ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋‰˜๋Š”๋ฐ, ๋จผ์ €, PARENT_ID IS NULL์ธ ์กฐ๊ฑด์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•ด์„œ 1์„ธ๋Œ€(AS GENERATION)๋ฅผ ๊ทœ์ • ํ•ด ์ค€๋‹ค. ๋‘ ๋ฒˆ์งธ๋กœ ํ•  ์ผ์€, ์ด 1์„ธ๋Œ€ ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ +1์„ ํ•ด์„œ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์กฐํšŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๋ถ€๋ชจ ๊ฐœ์ฒด๋กœ๋ถ€ํ„ฐ ์ž์‹์˜ ์„ธ๋Œ€ ์ˆ˜๋ฅผ ๊ณ„์‚ฐ ํ•ด ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. Generation ..
์–ด๋ ค์›Œ์„œ ๋ฏธ๋ฃจ๋‹ค๊ฐ€ ๋ชป ํ‘ผ ๋ฌธ์ œ๊ฐ€ 2๊ฐœ ์žˆ์—ˆ๋‹ค. Lv4 ๋ฌธ์ œ 1๊ฐœ๋ž‘ Lv5 ๋ฌธ์ œ 1๊ฐœ์ด๋‹ค. ๋‚œ์ด๋„ ์ตœ์ƒ์ธ ๋งŒํผ, ๋ฌธ์ œ ์ฝ๊ธฐ๋„ ์ „์— ํ’€๊ธฐ๊ฐ€ ๋‘๋ ค์šด ๋งˆ์Œ์ด ์žˆ์—ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์™ ์ง€ ์˜ค๋žซ ๋™์•ˆ ๋…ธํŠธ๋ถ ์•ž์— ์•‰์•„์„œ ๋จธ๋ฆฌ ๋งŽ์ด ์“ฐ๊ณ  ๊ณ ๋ฏผํ•ด ๋ด์•ผ ๋  ๊ฒƒ ๊ฐ™์•„์„œ ํ•˜๊ธฐ์‹ซ์—ˆ๋‹ค. MySQL์—์„œ๋Š” START WITH CONNECT BY๊ฐ€ ์•ˆ๋œ๋‹ค๋Š” ๊ฑฐ ์•Œ๊ณ ๋ถ€ํ„ฐ๋Š” ๋˜ ์ƒˆ๋กœ์šด๊ฑฐ ๋ฐฐ์šฐ๊ธฐ ์‹ซ์–ด์„œ ๋ฏธ๋ค˜๋Š”๋ฐ ์˜ค๋Š˜ ์–ผ๋ฅธ ๋๋‚ด๋ฒ„๋ฆฌ๊ณ  ์ž์•ผ์ง€1. ๋ฌธ์ œ์„ค๋ช…2. ์ ‘๊ทผ๋ฐฉ์‹์ฒ˜์Œ์—๋Š” ์–ด๋ ค์›Œ ๋ณด์—ฌ์„œ ๋ฌธ์ œ๋ฅผ ์ฝ๊ณ  ๋ญ˜ ๊ตฌํ•ด์•ผ ํ•˜๋Š”์ง€ ์ƒ๊ฐ์˜ ํ๋ฆ„์„ ํ•œ๊ธ€๋กœ ๋ฐ›์•„ ์ ์–ด ๋ดค๋‹ค. PARENT_ID๊ฐ€ NULL์ด๋ฉด 1์„ธ๋Œ€์ด๋‹ค. PARENT_ID๊ฐ€ NULL์ธ ID๋ฅผ ๋ถ€๋ชจ๋กœ ๊ฐ€์ง€๋Š” ํ–‰์ด 2์„ธ๋Œ€ ์ด๋‹ค. PARENT_ID๊ฐ€ NULL์ธ ID๋ฅผ ๋ถ€๋ชจ๋กœ ๊ฐ€์ง€๋Š” ํ–‰์˜ ID๋ฅผ ๋ถ€๋ชจ๋กœ ๊ฐ€..
1. ๋ฌธ์ œ ์„ค๋ช… 2. ์ ‘๊ทผ ๋ฐฉ๋ฒ•๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ๋“  ์ƒ๊ฐ์€ `์—ฐ๊ด€ ์ปฌ๋Ÿผ์ด ์—†์„ ๋•Œ๋Š” ํ…Œ์ด๋ธ”์„ ์–ด๋–ป๊ฒŒ ์กฐ์ธํ•˜๋Š”๊ฐ€?` -> ๊ทธ๋ž˜์„œ ์นดํ…Œ์‹œ์•ˆ ๊ณฑ์ด ๋– ์˜ฌ๋ž๋‹ค.๋ชจ๋“  ์กฐํ•ฉ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์นดํ…Œ์‹œ์•ˆ ๊ณฑ(Cartesian Product)์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ CROSS JOIN ํ•ด ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.์ผ๋‹จ ์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ์ž‘์„ฑ ํ•˜๊ณ  ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰์‹œ์ผœ ๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ํ…Œ์ด๋ธ”์ด ์˜†์œผ๋กœ ๋ถ™์—ˆ๋‹ค.  ์—ฌ๊ธฐ์„œ ๋‚ ์งœ๋ณ„๋กœ GROUP BY ํ•ด ๋ณด๊ณ  ๋ญ”๊ฐ€ ํ•ด ๋ณด๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ์ค‘๊ฐ„์— ๊ธฐ๊ฐ€ ๋ง‰ํžŒ ์ƒ๊ฐ์ด ๋‚ฌ๋‹ค.ํ…Œ์ด๋ธ”์„ ์˜†์ด ์•„๋‹ˆ๋ผ ์•„๋ž˜๋กœ ๋ถ™์ด๋ฉด ๋˜๊ฒ ๋‹ค. ๊ทธ๋Ÿผ UNION ALL์„ ์จ ๋ณด๋Š”๊ฒŒ ์–ด๋–จ๊นŒ?๊ทธ๋ž˜์„œ ์•„๋ž˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ™์ด๋Š”๊ฒŒ ์ข‹๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ์ค‘๋ณต๊ฐ’์„ ์—†์• ๋ฉด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— UNION์ด ์•„๋‹ˆ๋ผ UNION ALL... ์„ค๋งˆ...!!  SELECT SALES_DATE..
๋‚œ์ด๋„ 3์ด๋ผ ์–ด๋ ค์šธ ์ค„ ์•Œ์•˜๋Š”๋ฐ ๋„ˆ๋ฌด ์‰ฌ์›Œ์„œ ๊ทธ๋ƒฅ ์ฝ”๋“œ๋งŒ ํฌ์ŠคํŒ…ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์žฅ๊ท ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ํ•˜๊ธฐ 1 ์ •๋‹ต์ฝ”๋“œSELECT ID, SIZEFROM ( SELECT ID, CASE WHEN SIZE_OF_COLONY > 1000 THEN 'HIGH' WHEN SIZE_OF_COLONY ๋Œ€์žฅ๊ท ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ํ•˜๊ธฐ 2 ๋ฌธ์ œ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ํฌ๊ธฐ๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ–ˆ์„ ๋•Œ ์ƒ์œ„ 0% ~ 25% ๋ฅผ 'CRITICAL', 26% ~ 50% ๋ฅผ 'HIGH', 51% ~ 75% ๋ฅผ 'MEDIUM', 76% ~ 100% ๋ฅผ 'LOW' ๋ผ๊ณ  ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ID(ID) ์™€ ๋ถ„๋ฅ˜๋œ ์ด๋ฆ„(COLONY_NAME)์„ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ๊ฐœ์ฒด์˜ ID ์— ๋Œ€ํ•ด ์˜ค๋ฆ„..
1. ๋ฌธ์ œ์„ค๋ช… 2. ์ ‘๊ทผ๋ฐฉ์‹์ด๋ ‡๊ฒŒ ๊นŒ์ง€ ์˜ค๋ž˜ ๋ถ™์žก๊ณ  ์žˆ์„ ๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ๋ฐ ์˜ค๋Š˜์€ ํ•˜๊ธฐ ์‹ซ์–ด์„œ ใ…‹ใ…‹ใ…‹...๊ฒŒ์œผ๋ฆ„ ์ข€ ํ”ผ์›Œ๋ดค๋‹ค. ์ฒ˜์Œ์—๋Š” ECOLI_DATA ํ…Œ์ด๋ธ” ๋‚ด์—์„œ PARENT_ID(๋ถ€๋ชจ)๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์˜ ID๊ฐ’์„ ์นด์šดํŠธ ํ•ด ์ฃผ๋ฉด ๋˜๋Š”๊ฑฐ๋‹ค ๋ผ๊ณ  ์ƒ๊ฐ ํ•ด์„œ ํ‹€๋ ธ๋‹ค. ๊ฒฐ๊ณผ์ฐฝ์„ ๋ณด๋‹ˆ ์ž์‹์ด ์žˆ๋Š” ๋ถ€๋ชจ๋“ค๋งŒ ์ถœ๋ ฅ์ด ๋˜๊ณ  ์ž์‹์ด ์—†๋Š” ๋ถ€๋ชจ๋“ค์˜ ID๊ฐ’์€ ์กฐํšŒ๊ฐ€ ๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.  ๊ทธ๋ž˜์„œ LEFT JOIN์„ ํ•ด ์ฃผ์–ด์•ผ ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.์ฝ”๋“œ๋ฅผ ์ด๋ ‡๊ฒŒ ๊ณ ์ณค๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ํ–ˆ๋Š”๋ฐ๋„ ๊ฒฐ๊ณผ๋Š” ๊ฐ™๋‹ค.์ด๋ ‡๊ฒŒ ๊ณ ์น˜๋ฉด์„œ ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์ด ID ๊ฐ’์„ ID๋กœ SELECTํ•˜๊ณ , ์ž์‹ ํ…Œ์ด๋ธ”์˜ PARENT_ID๋ฅผ ์นด์šดํŒ… ํ•ด ์ฃผ์—ˆ๋‹ค. ํ‹€๋ฆฐ ์ด์œ ๋Š” WHERE ์ ˆ ๋•Œ๋ฌธ์ด์—ˆ๋‹ค.์ž์‹์ด ์—†๋Š” ๋ถ€๋ชจ๋„ ์นด์šดํŒ…์„ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—WHERE E.PARENT..
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ๋ถ„ํ™”๋œ ์—ฐ๋„(YEAR), ๋ถ„ํ™”๋œ ์—ฐ๋„๋ณ„ ๋Œ€์žฅ๊ท  ํฌ๊ธฐ์˜ ํŽธ์ฐจ(YEAR_DEV), ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ID(ID) ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๋ถ„ํ™”๋œ ์—ฐ๋„๋ณ„ ๋Œ€์žฅ๊ท  ํฌ๊ธฐ์˜ ํŽธ์ฐจ๋Š” ๋ถ„ํ™”๋œ ์—ฐ๋„๋ณ„ ๊ฐ€์žฅ ํฐ ๋Œ€์žฅ๊ท ์˜ ํฌ๊ธฐ - ๊ฐ ๋Œ€์žฅ๊ท ์˜ ํฌ๊ธฐ๋กœ ๊ตฌํ•˜๋ฉฐ ๊ฒฐ๊ณผ๋Š” ์—ฐ๋„์— ๋Œ€ํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ๊ฐ™์€ ์—ฐ๋„์— ๋Œ€ํ•ด์„œ๋Š” ๋Œ€์žฅ๊ท  ํฌ๊ธฐ์˜ ํŽธ์ฐจ์— ๋Œ€ํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.2. ์ ‘๊ทผ๋ฐฉ๋ฒ• ๊ฐ€์žฅ ํฐ ๋Œ€์žฅ๊ท ์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•ด์ค˜์•ผ ํ•˜๋ฏ€๋กœ MAX(SIZE_OF_COLONY)๋ฅผ ํ•ด ์ค˜์•ผ ํ•  ๊ฒƒ ๊ฐ™๊ณ  ์—ฐ๋„๋ณ„๋กœ ๊ตฌํ•ด์•ผ ํ•˜๋‹ˆ๊นŒ ์œˆ๋„์šฐ ํ•จ์ˆ˜์จ ์ค˜์„œ ์—ฐ๋„๋กœ ํŒŒํ‹ฐ์…”๋‹ ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ผ๋‹จ ์ด ์ž‘์—…์„ ๋จผ์ € ํ•œ ํ›„์— ํ•ด๋‹น ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ง€๊ณ  ๋‹ค์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœ ํ•ด ์ฃผ๊ณ  ORDER BY ์ •๋ ฌ์„ ํ•ด ์ฃผ์–ด์•ผ ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.  ๋จผ์ €, ..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'์ฝ”๋”ฉํ…Œ์ŠคํŠธ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)
์ƒ๋‹จ์œผ๋กœ