Algorithm๐Ÿค

# ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/144856 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr # ๋ฌธ์ œ ์š”์•ฝ 2022๋…„ 1์›”์˜ ๋„์„œ ํŒ๋งค ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ €์ž ๋ณ„, ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ๋งค์ถœ์•ก(TOTAL_SALES = ํŒ๋งค๋Ÿ‰ * ํŒ๋งค๊ฐ€) ์„ ๊ตฌํ•˜์—ฌ, ์ €์ž ID(AUTHOR_ID), ์ €์ž๋ช…(AUTHOR_NAME), ์นดํ…Œ๊ณ ๋ฆฌ(CATEGORY), ๋งค์ถœ์•ก(SALES) ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ์ €์ž ID๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ, ์ €์ž ID๊ฐ€ ๊ฐ™๋‹ค๋ฉด ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”..
# ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/133027 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr # ๋ฌธ์ œ ์š”์•ฝ ํ…Œ์ด๋ธ” 2๊ฐœ๊ฐ€ ์žˆ์„๋•Œ ๊ฐ๊ฐ์˜ ๋ง›์— ๋Œ€ํ•ด์„œ total_order๋ฅผ ๋”ํ•˜๊ณ  ์ƒ์œ„ 3๊ฐœ ์ถœ๋ ฅํ•˜๊ธฐ # ํ—ท๊ฐˆ๋ ธ๋˜ ์  shipment_id๋ฅผ ์ด์šฉํ•ด์„œ ์กฐ์ธ์œผ๋กœ on์—์„œ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์˜จ๋‹ค ๋ฌธ์ œ์˜ ์˜ˆ์‹œ์—์„œ๋Š” strawberry๋ผ๋Š” ๋ง›์œผ๋กœ ํ–ˆ์„๋•Œ ํ…Œ์ด๋ธ” A์—์„œ๋Š” shipment_id ๋ฐ flavor๊ฐ€ (109, strawberry) ์ด๊ณ  ํ…Œ์ด๋ธ” B์—์„œ๋Š” (109, straw..
# ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/62284 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr # ๋ฌธ์ œ ์š”์•ฝ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํŒ€์—์„œ๋Š” ์šฐ์œ (Milk)์™€ ์š”๊ฑฐํŠธ(Yogurt)๋ฅผ ๋™์‹œ์— ๊ตฌ์ž…ํ•œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. # ๋ฌธ์ œ ์ •๋‹ต select cart_id from cart_products where name = 'Milk' and cart_id in (select cart_id from cart_products where name = 'Yogurt') order by 1
# ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/77487 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr # ๋ฌธ์ œ ์š”์•ฝ ์ด ์„œ๋น„์Šค์—์„œ๋Š” ๊ณต๊ฐ„์„ ๋‘˜ ์ด์ƒ ๋“ฑ๋กํ•œ ์‚ฌ๋žŒ์„ "ํ—ค๋น„ ์œ ์ €"๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ํ—ค๋น„ ์œ ์ €๊ฐ€ ๋“ฑ๋กํ•œ ๊ณต๊ฐ„์˜ ์ •๋ณด๋ฅผ ์•„์ด๋”” ์ˆœ์œผ๋กœ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. # ํ—ท๊ฐˆ๋ ธ๋˜ ๋ถ€๋ถ„ ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ฟผ๋ฆฌ๋ฅผ ํ•œ ๋ฒˆ์— ์“ฐ๋ฉด ์ด๋Ÿฐ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค select id, name, host_id from places group by host_id having count(*) >= 2 ..
# ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/157342 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr # ๋ฌธ์ œ ์š”์•ฝ ํ‰๊ท  ๋Œ€์—ฌ ๊ธฐ๊ฐ„์ด 7์ผ ์ด์ƒ์ธ ์ž๋™์ฐจ ์ถœ๋ ฅ # ๋ฌธ์ œ์—์„œ ํ—ท๊ฐˆ๋ ธ๋˜ ๋ถ€๋ถ„ # ๋ฌธ์ œ์—์„œ ๋‚ ์งœ๋ณ„ ์ฐจ์ด ๊ตฌํ•˜๊ธฐ datediff(end_date, start_date)๋ฅผ ํ•œ๋‹ค๋ฉด ๊ทธ๋ฆผ์˜ history๊ฐ’ 1, car_id ์—์„œ๋Š” 4๊ฐ€ ๋‚˜์˜จ๋‹ค -> ๋‹จ์ˆœํžˆ ๋‘ ๋‚ ์งœ์˜ ์ฐจ์ด ํ•˜์ง€๋งŒ ๋ฌธ์ œ์—์„œ๋Š” ๋Œ€์—ฌ ๊ธฐ๊ฐ„์ด 5๋กœ ๋‚˜์˜จ๋‹ค -> ๋ฌธ์ œ์—์„œ์˜ ๋Œ€์—ฌ ๊ธฐ๊ฐ„์ด๋ž€ ์‹œ์ž‘ ๋‚ ์งœ์™€ ์™„๋ฃŒ ๋‚ ์งœ๊นŒ์ง€ ํฌํ•จ์‹œํ‚จ๋‹ค ์šฐ๋ฆฌ๊ฐ€ ..
# ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/151138 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr # ๋ฌธ์ œ ์š”์•ฝ ์‹œ์ž‘ ๋‚ ์งœ์™€ ๋ ๋‚ ์งœ์˜ ์ฐจ์ด๋ฅผ ๊ตฌํ•˜๊ณ  '์žฅ๊ธฐ๋Œ€์—ฌ' ์™€ '๋‹จ๊ธฐ๋Œ€์—ฌ' ๊ตฌ๋ณ„ # ํ•ต์‹ฌ ๊ฐœ๋… datediff(end_date, start_date) ๊ทธ ์™ธ ์˜์–ด๋‹จ์–ด ์ž…๋ ฅ ์‹ค์ˆ˜ ์กฐ์‹ฌํ•˜๊ธฐ # ์ •๋‹ต ์ฝ”๋“œ select history_id, car_id, date_format(start_date, '%Y-%m-%d') start_date, date_format(end_date, '%Y-%..
# ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/12915 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr # ๋ฌธ์ œ ์š”์•ฝ ๋ฌธ์ž์—ด๋กœ ๊ตฌ์„ฑ๋œ ๋ฆฌ์ŠคํŠธ strings์™€, ์ •์ˆ˜ n์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค n๋ฒˆ์งธ ๊ธ€์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด strings๊ฐ€ ["sun", "bed", "car"]์ด๊ณ  n์ด 1์ด๋ฉด ๊ฐ ๋‹จ์–ด์˜ ์ธ๋ฑ์Šค 1์˜ ๋ฌธ์ž "u", "e", "a"๋กœ strings๋ฅผ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. # ํ•ต์‹ฌ ๊ฐœ๋… ๊ฐ™์€ ์•ŒํŒŒ๋ฒณ์„ ๊ฐ€์ง€๊ณ  ์žˆ์„๋•Œ ์‚ฌ์ „์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋จผ์ €..
# ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/131532 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr # ๋ฌธ์ œ ์š”์•ฝ ์ฒดํฌํ‘œ์‹œ ๋˜์–ด์žˆ๋Š” ๋ถ€๋ถ„์— ์œ ๋…ํ•˜๋ฉด์„œ ๋ฌธ์ œ๋ฅผ ํ’€ ๊ฒƒ ๋งŒ์•ฝ ๊ทธ๋ƒฅ ์ง€๋‚˜์ณค๋‹ค๋ฉด ์ •๋‹ต ํŒ์ •์„ ๋ฐ›๊ธฐ ํž˜๋“ค๊ฒƒ์ด๋‹ค 1) ๋™์ผํ•œ ๋‚ ์งœ, ํšŒ์› ID, ์ƒํ’ˆ ID ์กฐํ•ฉ์— ๋Œ€ํ•ด์„œ๋Š” ํ•˜๋‚˜์˜ ํŒ๋งค ๋ฐ์ดํ„ฐ๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ USER_INFO ํ…Œ์ด๋ธ”๊ณผ ONLINE_SALE ํ…Œ์ด๋ธ”์—์„œ ๋…„, ์›”, ์„ฑ๋ณ„ ๋ณ„๋กœ ์ƒํ’ˆ์„ ๊ตฌ๋งคํ•œ ํšŒ์›์ˆ˜๋ฅผ ์ง‘๊ณ„ํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ๋…„, ์›”, ์„ฑ๋ณ„์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„..
# ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/157340 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr # ๋ฌธ์ œ ์š”์•ฝ ๊ฐ ์ž๋™์ฐจ๊ฐ€ 2022๋…„ 10์›” 16์ผ์— ๋Œ€์—ฌ์ค‘์ด์—ˆ๋˜ ๊ธฐ๋ก์ด ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธ ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ๋Š” ์‹œ์ž‘ ๋‚ ์งœ์™€ ๋ฐ˜๋‚ฉ ๋‚ ์งœ๊ฐ€ ์žˆ์Œ ๋งŒ์•ฝ ์‹œ์ž‘ ๋‚ ์งœ์™€ ๋ฐ˜๋‚ฉ ๋‚ ์งœ ์‚ฌ์ด์— 2022-10-16์ด ์žˆ๋‹ค๋ฉด(ํฌํ•จ์‹œ) ๋Œ€์—ฌ์ค‘ ๊ทธ๊ฒŒ ์•„๋‹ˆ๋ผ๋ฉด ๋Œ€์—ฌ ๊ฐ€๋Šฅ ์ผ ๊ฒฝ์šฐ ์ผ๋‹จ ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ. ์—ฌ๋Ÿฌ๊ฐœ์˜ car_id๊ฐ’ ์ค‘ ๊ฐ™์€ car_id๊ฐ’๋ผ๋ฆฌ ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์œผ๋กœ ๋งŒ๋“ค์–ด ์—ฐ์‚ฐ ํ›„ ์ถœ๋ ฅํ•˜์˜€๋‹ค group by ์‚ฌ์šฉ์ด์œ  !!..
# ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/132204 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr # ๋ฌธ์ œ ์š”์•ฝ ํ…Œ์ด๋ธ” 3๊ฐœ ์กฐ์ธ์‹œํ‚ค๊ธฐ # ํ—ท๊ฐˆ๋ ธ๋˜ ๋ถ€๋ถ„ 3๊ฐœ์˜ ํ…Œ์ด๋ธ”์—์„œ ๊ฐ๊ฐ์˜ ์ปฌ๋Ÿผ๋ช…์ด ๋‹ค๋ฅด๋ฉด์„œ ์กฐ์ธ์„ ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ํ—ท๊ฐˆ๋ ธ๋˜ ๋ถ€๋ถ„์ด ์žˆ์—ˆ๋‹ค ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ถœ๋ ฅ์‹œ ๊ฐ ์ปฌ๋Ÿผ๋ช…์„ ์ž˜ ๋ณด๊ณ  ์ ๋Š” ๋ฐ ์œ ์˜ํ•ด์•ผ๊ฒ ๋‹ค # ํ…Œ์ด๋ธ” a์™€ ํ…Œ์ด๋ธ” b์™€ ํ…Œ์ด๋ธ” c ์กฐ์ธ์‹œํ‚ค๊ธฐ select * from ํ…Œ์ด๋ธ”a a inner join ํ…Œ์ด๋ธ”b b on a.key = b.key inner join ํ…Œ์ด๋ธ”c c ..
ํŒŒ์นดํŒŒ์˜ค
'Algorithm๐Ÿค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (7 Page)