์ ์ฒด ๊ธ77 [PS / ๋ฐฑ์ค] 12904. A์ B https://www.acmicpc.net/problem/12904 ํ์ดS๊ฐ T๊ฐ ๋ ์ ์๋์ง๋ฅผ ๋ฐ์ง์ง ์๊ณ T๊ฐ S๊ฐ ๋ ์ ์๋์ง๋ฅผ ๋ฐ์ง๋ฉด ๋๋ ๋ฌธ์ ์๋ค.T๊ฐ S๊ฐ ๋ ์ ์๋์ง๋ฅผ ๋ฐ์ง๋ฉด ๊ฒฝ์ฐ๊ฐ ๋ฑ ๋๊ฐ์ง๋ก ๋๋๋ค. (i) T๊ฐ A๋ก ๋๋จ => T์ ๋งจ ๋ค์ ์๋ A๋ฅผ ๋ผ๋ฉด๋๋ค.(ii) T๊ฐ B๋ก ๋๋จ => T์ ๋งจ ๋ค์ ์๋ B๋ฅผ ๋ผ๊ณ ๋ฌธ์์ด์ ๋ค์ง๋๋ค. ์ ๋ ๊ฒฝ์ฐ์ ์ฐ์ฐ์ T์ S์ ๊ธธ์ด๊ฐ ๋์ผํด์ง ๋๊น์ง ๋ฐ๋ณตํด์ฃผ๋ฉด ๋๋ค. ์ค๋๋ง์ StringBuilder๋ฅผ ์จ๋ณด๋๊น ๋ฉ์๋๋ค์ด ์ ๊ธฐ์ต๋์ง๊ฐ ์์๋ค.delete(์์์ธ๋ฑ์ค, ๋์ธ๋ฑ์ค), reverse(), charAt() ์ ๋๋ ๊ผญ ๊ธฐ์ตํด๋์์ ์ฒด ์ฝ๋import java.io.BufferedReader;import java.io.InputSt.. 2024. 11. 8. [SQL / ํ๋ก๊ทธ๋๋จธ์ค] JOIN ๋ฌธ์ ๋ชจ์ https://school.programmers.co.kr/learn/courses/30/lessons/131117 ํ๋ก๊ทธ๋๋จธ์คSW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํprogrammers.co.kr ์ฐ์ 5์์ ๋ง๋ค์ด์ง ์ํ๋ค์ ์ด ์ฃผ๋ฌธ ๊ฐ์๋ฅผ ๊ตฌํด์ผํ๋ค๊ณ ์๊ฐํ์ต๋๋ค.ํด๋น ์ฟผ๋ฆฌ๋ ์๋์ ๊ฐ์ต๋๋ค.SELECT PRODUCT_ID, SUM(AMOUNT)FROM FOOD_ORDERWHERE PRODUCE_DATE >= '2022-05-01' AND PRODUCE_DATE ๊ทธ๋ฆฌ๊ณ ์ AMOUNT์ ํฉ๊ณผ ๊ฐ๊ฒฉ์ ๊ณฑํด์ฃผ๋ฉด ๋๋ค๊ณ ์๊ฐํด์ JOIN์ ํ์ฉํด์ ์ ๋ต์ฟผ๋ฆฌ๋ฅผ ์ผ์ต๋๋ค. SELECT FP.PRODUCT_ID AS PRODUCT_ID, F.. 2024. 11. 7. [SQL / ํ๋ก๊ทธ๋๋จธ์ค] ๊ทธ๋ฃน๋ณ ์กฐ๊ฑด์ ๋ง๋ ์๋น ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ https://school.programmers.co.kr/learn/courses/30/lessons/131124 ํ๋ก๊ทธ๋๋จธ์ค์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.programmers.co.kr WHERE ์ ์ ์๋ธ ์ฟผ๋ฆฌ๋ฅผ ์จ์ ํด๊ฒฐํ์ต๋๋ค. 1. ๊ฐ์ฅ ๋ฆฌ๋ทฐ๋ฅผ ๋ง์ด ์ด ํ์ ์์ด๋ ์ฐพ๊ธฐREST_REVIEW ํ ์ด๋ธ์์ ๊ฐ์ฅ ๋ฆฌ๋ทฐ๋ฅผ ๋ง์ด ์์ฑํ ํ์์ ์ฐพ์์ค๋๋ค.ํด๋น ์ฟผ๋ฆฌ๋ ์๋์ ๊ฐ์ต๋๋ค. SELECT MEMBER_IDFROM REST_REVIEWGROUP BY MEMBER_IDORDER BY COUNT(*) DESC LIMIT 1; 2. ๊ฐ์ฅ ๋ฆฌ๋ทฐ๋ฅผ ๋ง์ด ์ด ํ์์ ๋ฆฌ๋ทฐ ๋ด์ฉ ์ถ๋ ฅ์์์.. 2024. 10. 18. ๊ฐ์ฒด ์งํฅ ์ค๊ณ 5์์น - SOLID SRP - ๋จ์ผ ์ฑ ์ ์์นโญ๏ธ ์ด๋ค ํด๋์ค๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ ์ด์ ๋ ์ค์ง ํ๋๋ฟ์ด์ด์ผ ํ๋ค์ฆ ํ๋์ ํด๋์ค๋ ํ๋์ ์ญํ ๋ง ํด์ผํ๋ค๋ ์๋ฏธ์ด๋ค.ํ๋์ ํด๋์ค๊ฐ ๋๋ฌด ๋ง์ ์ญํ ์ ๋งก๊ณ ์์ ๋ ๊ฐ์ฒด์งํฅ์์๋ '๋์ ๋์๊ฐ ๋๋ ์ฝ๋'๋ผ๊ณ ๋ถ๋ฅธ๋ค.SRP๊ฐ ์ ์ง์ผ์ง์ง ์์ ์ค๊ณ์ ์์๋ฅผ ๋ณด์.โ๏ธ EX 1)์ฌ๋ ํด๋์ค๊ฐ ์๊ณ , ์ด ์ฌ๋ ํด๋์ค์ ์์กดํ๋ ์ฌ๋ฌ๊ฐ์ง ํด๋์ค๋ค(์ ์ธ, ๋ถ๋ชจ๋, ํ์ฌ ๋ฑ)์ด ์กด์ฌํ๋ค๊ณ ํ์.์ด ์ฌ๋ ํด๋์ค ์์ ์ฌ๋ฌ ๊ฐ์ง ์ญํ ์ ํด๋นํ๋ ๋ฉ์๋๋ฅผ ๋ชจ๋ ๋ฃ๋ ๊ฒฝ์ฐ๊ฐ SRP๊ฐ ์ ์ง์ผ์ง์ง ์์ ์ค๊ณ์ด๋ค. ํ๋์ ํด๋์ค๊ฐ ์ฌ๋ฌ ์ญํ ์ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค.์๋์ ๊ฐ์ด ์ญํ ์ ๋๋์ด ํด๋์ค๋ฅผ ์ฌ๋ฌ ๊ฐ๋ก ๋ถ๋ฆฌํ๋ค๋ฉด SRP๋ฅผ ์ ์งํจ ๋ ์ข์ ์ค๊ณ๊ฐ ๋๋ค.โ๏ธ EX 2)๋ ์์๋ฅผ ๋ค์ด๋ณด์. ๋ง์ฝ .. 2024. 10. 14. ํํ ์์คํ Beyond SW 7๊ธฐ 22์ฃผ์ฐจ ํ๊ณ ์ง์ง ์ค๋๋ง์ ํ๊ณ ์ด๋ค..์ด๋ฒ์ฃผ๋ ์ง์ง ์์ฒญ ๊ณ ๋ฏผ์ด ๋ง์๋ ๊ฒ ๊ฐ๋ค.์๋๋ฉด ๋ฉด์ , ์ฝํ ์ผ์ ์ด ์ข ์กํ๋๋ฐ ์ง๊ธํ๊ณ ์๋ ํ๋ก์ ํธ๋ ๋ฉด์ ์ค๋น, ์ฝํ ์ค๋น ์ค์ ์ด๋ค ๊ฒ์ ์ง์คํด์ผํ ์ง ๊ณ์ ๋ชป์ ํ๊ณ ๊ฐํก์งํกํ์๋ค.๋ญ๊ฐ ์ฝํ , ๋ฉด์ ๊ธฐํ๊ฐ ์ฃผ์ด์ก๋๋ฐ ๊ทธ ์ ๋ ์๋ ๊ณต๋ถ์ํ๊ณ ํ์ ํ๊ณ ์์ผ๋ฉด ์ต์ ์ ๋คํ์ง ์๋๊ฑฐ ๊ฐ์์ ์ฐ์ฐํ๊ณ .. ํ์ ์ด๋ ์ฝํ ๋๋ค ์กฐ๊ธ์ฉ์กฐ๊ธ์ฉ ํด๋ณผ๋ ค๊ณ ํ๋๋ฐ ๋ด ์์๋ณด๋ค ์๊ฐ์ด ๋ง์ด ๋ค์ด๊ฐ์ ์๊ฐ๋๋ก ์ ์๋๋ค.์๋ฅผ ๋ค๋ฉด '์คํ 7์๋ถํฐ 9์๊น์ง ๋์๊ฐ๋ง ๋ฉด์ ์ค๋นํ๊ณ , 9์๋ถํฐ 11์๊น์ง ์ฝํ ์ค๋นํด์ผ์ง~' ์ด๋ ๊ฒ ์๊ฐํ๋๋ฐ ๋ฉด์ ์ค๋น๊ฐ ๋ด ์์๋ณด๋ค ์ค๋๊ฑธ๋ ค์ ๊ทธ๋ฅ ๊ทธ๋ ๊ณ์ ๋ฉด์ ์ค๋น๋ง ํ๋ค ์๋ค๋ ๊ฐ ๊ณ์ ๊ทธ๋ฐ์์ด์๋ค.๊ทธ๋์ ํ์ ํ ์๊ฐ์ ์ ์ ์์ด์ง๊ณ ๊ฒฐ๊ตญ ํ์์ ์๋ 8์๊ฐ ๋ง๊ณ .. 2024. 10. 12. ์ผ๊ธ ์ปฌ๋ ์ (First Class Collection)์ ๋ํด ์ฝ ๋๋ฌ์ ํ๋ก์ ํธ๋ฅผ ํ๋ฉฐ ์๋์ ๊ฐ์ ๋ณต์กํ ์ ๋ ฌ ์ฝ๋๋ฅผ ๊ตฌํํ ์ ์ด ์์์ต๋๋ค. // ์ก์ ์์ดํ ๋ชจ๋ ๋ฝ์์ค๊ธฐ List idList = doneRetrospects.stream().map(Retrospect::getId).toList(); List actionItemList = actionItemRepository.findAllByRetrospectIdIn(idList).stream() .sorted((a, b) -> { if(a.getIsPinned() && b.getIsPinned() && a.getActionItemStatus().equals(b.g.. 2024. 10. 9. ์ด์ 1 2 3 4 5 6 ยทยทยท 13 ๋ค์