https://roadmap.sh/backend
1\. prisma : https://www.prisma.io/docs/reference/api-reference/prisma-client-referencereact : react ๊ฐ๋ ์(๊ตฌ) : https://ko.legacy.reactjs.org/
์ฌ๊ณ ๋ ๋ช ํํ๊ฒ ํ๋ค. ์์ธ -> ๊ฒฐ๊ณผ์ฝ๋๋ฅผ ์์ ํ์ ๋ ๋ฐ์๋๋ ๊ฒฐ๊ณผ๋ฅผ ์์ํ๋ค. (ex.์ฌ๋ฌ ๊ณณ์์ ์ฌ์ฉ๋๋ ์ปดํฌ๋ํธ๋ฅผ ๋ฐ๊ฟจ์ ๋)์ฝ๋๋ฅผ ์ฝ์ ๋ ๊ฐ๋ ์ฑ ์ข๊ฒ ์ฝ๋๋ฅผ ์ง์.๊ธ์ฐ๋ ์ฐ์ต์ ํ์. ๊ธ์ ๊ธฐ์น์ ๊ฐ๊ฐ ์๋ ๊ฒ๋ง๋ฅ, ์ฝ๋๋ฅผ ์งค ๋๋ ๋ฌผํ๋ฅด๋ฏ ์์ฐ์ค๋ฝ๊ฒ ์ง๋๋ก
ํจ์(function)๋ ์ฒซ ๋ฒ์งธ ์งํฉ์ ์์์ ํ ์์๊ฐ ๋ ๋ฒ์งธ ์งํฉ์ ์ค์ง ํ ์์์๋ง ๋์ํ๋ ๊ด๊ณ๋ฅผ ์๋ฏธํฉ๋๋ค.x์ y ์ฌ์ด์์ x์ ๊ฐ์ด ์ ํด์ง๋ฉด ๊ฑฐ๊ธฐ์ ๋ฐ๋ผ y์ ๊ฐ์ด ์ ํด์ง๋ ๊ด๊ณ๋ฅผ ๊ฐ์ง ๋ y๋ x์ ํจ์๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.ํ๋ก๊ทธ๋๋ฐ์์ ํจ์๋ ํน์ ๋ชฉ์ ์
์คํ ๊ด๋ จ ๋ฌธ์ ์ด๋ค. stack์ ๋ง๋ ๋ค. s๋ฅผ ์ํํ๋ค. ํ์ฌ ์์๊ฐ (๋ผ๋ฉด stack์ ์ถ๊ฐํ๋ค. ํ์ฌ ์์๊ฐ )์ด๋ฉด์ stack์ ๋ง์ง๋ง ์์๊ฐ (๋ผ๋ฉด stack์์ ๋ง์ง๋ง ์์๋ฅผ ์ ๊ฑฐํ๋ค. ํ์ฌ ์์๊ฐ )์ด๋ฉด์ stack์ ๋ง์ง๋ง ์์๊ฐ )๋ผ๋ฉด stack์ )๋ฅผ
์ ํ์ ์ธ ์คํ๊ด๋ จ ๋ฌธ์ ์ด๋ค. ์คํ answer๋ฅผ ๋ง๋ค์ด ๊ฐ์ฅ ๋ง์ง๋ง ์์์ ์ํ์ค์ธ ๋ฐฐ์ด arr์ ์์๋ฅผ ๋น๊ตํ๊ณ , ์ด ๊ฐ์ด ๋ค๋ฅด๋ฉด ์คํ answer์ ํ์ฌ์ arr์์๋ฅผ ์ถ๊ฐํ๋ค.
n๋ฒ์งธ ์ซ์์ ์ธ๋ฑ์ค๋ n-1์ด๋ค.๋ฐ๋ผ์ array์ n๋ฒ์งธ ์ซ์๋ถํฐ m๋ฒ์งธ ์ซ์๊น์ง ์๋ฅด๊ธฐ ์ํด slice์ ์ด์ฉํ๋ค๋ฉด array.slice(n-1, m)์ด๋ค.commands๋ฅผ ์ํํ๋ค. ์ํ์ค์ธ ์์๊ฐ command๋ผ๋ฉด, array.slice(command0-1,
howManyDays : 1์๋ถํฐ 12์๊น์ง ์ผ์๊ฐ ๋ค์ด์๋ ๋ฐฐ์ดdaysOfweek: ๋ชฉ, ๊ธ, ํ , ์ผ... ๋ฐํํด์ผ ํ๋ ์์ผ์ด ๋ค์ด์๋ ๋ฐฐ์ด.๋จ, 1๋ฒ์งธ ์ธ๋ฑ์ค๋ฅผ ๊ธ์์ผ๋ก ๋๋ค. ๊ทธ ์ด์ ๋ ์ด ์ผ์๋ฅผ 7๋ก ๋๋์์ ๋์ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํด์ ๊ณง๋ฐ๋ก ๊ฐ์ ๋ฐํํ๊ธฐ ์ํด
lowHonor : ๋ช ์์ ์ ๋น์์ ๊ฐ์ฅ ์์ ์ ์๊ฐ ๋ค์ด์๋ ๋ฐฐ์ดarrayOfHonor : ๋ช ์์ ์ ๋น 0๋ฒ์งธ ์ธ๋ฑ์ค๋ถํฐ score.length -1์ธ๋ฑ์ค๊น์ง ๋ฐ๋ณตํ๋ค.๋ง์ฝ ๋ช ์์ ์ ๋น์ ๋ฐฐ์ด๊ธธ์ด๊ฐ k(= ๋ช ์์ ์ ๋น ์์์ ๊ฐ์)๋ณด๋ค ์๋ค๋ฉด,\-- arrayOfHo
name์ ๊ฐ ๊ทธ๋ฆฌ์ ์ ์๋ฅผ Map object์ ์ ์ฅํ๋ค.1.์์ Map object์ ์ ์ฅํ ๋, ๋ง์ฝ name๊ณผ yearning์ ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ๋ค๋ฅด๋ค๋ฉด, yearning์ด ์๋ ๊ฐ์ 0์ ์ ์ฅํ๋ค. photo์ map๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ๊ฐ๊ฐ์ ์์์ ๊ทธ๋ฆฌ์ ํฉ์
๋ฐํ๊ฐ์ 0์ ๊ธฐ์ค์ผ๋ก ๋ค์ง์ ๋ชจ์ต์ด๋ค. ๋ฐ๋ผ์, 0์ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ ๋ฌธ์์ด์ leftResult๋ก ๋๋๋ค.food์ 1๋ฒ์งธ ์ธ๋ฑ์ค๋ถํฐ ์ธ๋ฑ์ค๋ฅผ i๋ผ ๋๊ณ ๋์ธ๋ฑ์ค๊น์ง ์ํํ๋ค.i๊ฐ ๋ช๋ฒ ๋ฐ๋ณต๋๋๋ฉด, Math.floor(foodi/2)๋ฒ ๋ฐ๋ณต๋๋ค. ๋ฐ๋ผ์ i๋ฅผ ๋ฌธ์์ด๋ก
0์ธ๋ฑ์ค๋ถํฐ s.length-1๊น์ง ์ํ๋ฅผ ํ๋ค. s์์ ๊ฐ์ฅ ์ฒซ๋ฒ์งธ ์์๋ถํฐ ํ์ฌ ์ธ๋ฑ์ค ๋ฐ๋ก ์ง์ ๊น์ง ๋ฝ์ ๋ธ ๋ค, ์ฌ๊ธฐ์ ํด๋น ์์๋ฅผ ์ฐพ๋๋ค. ์ฌ๊ธฐ์ ๊ฐ์ฅ ๋ง์ง๋ง ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ค. ๋ง์ฝ ์์ผ๋ฉด -1์ ๋ฐํํ๋ค.๋ง์ฝ ์ฐพ์ ์ธ๋ฑ์ค ๊ฐ์ด -1์ด๋ผ๋ฉด ๋ฐ๋ก result๋ฐฐ
numbers์์ ๋๊ฐ์ ์์๋ฅผ ์ ํํ๊ณ ์ด๊ฒ์ ํฉ์ ๋ฐฐ์ด์ ์ ์ฅํด๋๊ฐ๋ค.์ด ๋ฐฐ์ด์ Set Object๋ฅผ ์ด์ฉํด์ ๋์ผ ์์๋ฅผ ์ ๊ฑฐํ๋ค, sort๋ฅผ ์ด์ฉํด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
n๋ฒ์งธ ์ธ๋ฑ์ค๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ํ๋ค. ๋ง์ฝ n๋ฒ์งธ ์ธ๋ฑ์ค์ ๊ฐ์ด ๊ฐ๋ค๋ฉด, ๋ฌธ์์ด์ ๋น๊ตํด์ ์ฌ์ ์์ผ๋ก ์ ๋ ฌ์ ํ๋ค.
arr1 ๊ฐ๊ฐ์ ์์๋ฅผ 2์ง์๋ก ๋ฐ๊พผ ๋ฐฐ์ด newArr1์ ๋ง๋ ๋ค. ๋จ, newArr1์ ๋ชจ๋ ์์๋ n์ ์๋ฆฌ์ธ 2์ง์์ฌ์ผ ํ๋ค. ๋ฐ๊พผ 2์ง์์ ๊ธธ์ด๊ฐ n๊ฐ๋ณด๋ค ์๋ค๋ฉด ๋ถ์กฑํ๋งํผ ์์ 0์ ๋ถ์ธ๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก arr2์์๋ ์์ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก newArr2๋ฅผ ๋ง๋
leftIndex, centerIndex, rightIndex๋ฅผ ์ ํ๋ค.leftIndexํ๋๋ฅผ ๊ณ ์ ์ผ๋ก ๋๊ณ ๊ทธ ์์์ centerIndex๋ฅผ ๊ณ ์ ์ผ๋ก ๋๊ณ rightIndex๋ฅผ ์์ง์ด๋ ๋ฐ๋ณต์ ๋๊น์ง ํ๋ค. ํด๋น ์ธ๋ฑ์ค๋ค์ ํฉ์ด ์์๋ผ๋ฉด ์นด์ดํธํ๋ค. ๋ชจ๋ ์ํ๋ฅผ ๋ง์น
matchingObj : ๋ฌธ์์ด ์ซ์๋ฅผ ํค๋ก ๋๊ณ , ์ซ์๋ฅผ ๊ฐ์ผ๋ก ๋์ด์ง obj์ด๋ค.matchingObj์ key๋ค์ ์ํํ๋ฉด์ s์์ ํ์ฌ ์ํ์ค์ธ key๋ฅผ ๋ชจ๋ ์ซ์๋ก ๋ฐ๊พธ๋ฉด์ s๋ฅผ ์ ๋ฐ์ดํธํ๋ค.์ํ๋ฅผ ๋ง์น๊ณ ๋ณ๊ฒฝ๋ s๋ฅผ ๋ฐํํ๋ค.
lowerCase : ์๋ฌธ์ a~zupperCase : ๋๋ฌธ์ A~Zs๋ฅผ ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ ์ํ๋ฅผ ํ๋ค. ๋ง์ฝ ํ์ฌ ์์๊ฐ ๊ณต๋ฐฑ์ด๋ผ๋ฉด ์์๋ฅผ ๋ฐ๊พธ์ง ์๋๋ค.ํ์ฌ ์์๊ฐ ๋๋ฌธ์์ธ์ง ์๋ฌธ์์ธ์ง ํ์ ํ๋ค.๋๋ฌธ์๋ผ๋ฉด upperCase์์ ์๋ฌธ์๋ผ๋ฉด lowerCase์์ ํด๋น ์
๋ฌธ์ ๋์์ฝ๋ ๋ก์งํ๋ฆ
๋ฝ์๋ด๋ ์์ ๋ง์ง๋ง์ธ๋ฑ์ค๋ p.length -1 ๋ถํฐ t.length-1๊น์ง์ด๋ค. ๋ฝ์๋ด๋ ์์ ์ฒซ๋ฒ์งธ ์ธ๋ฑ์ค๋ : ํด๋น ์์ ๋ง์ง๋ง์ธ๋ฑ์ค - (p.length -1)์ด๋ค.๋ง์ง๋ง์ธ๋ฑ์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ๋ณต๋ฌธ์ ๋๋ ค์์๋ฅผ ๋ฝ์๋ธ๋ค. ์ด ์์ p๋ฅผ ๋น๊ตํด์ ์ด ์๊ฐ p๋ณด๋ค ์