์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ฉ๋ชจ์ด์ ์ด์ ๊ตฌํํ๊ธฐ
๊น๋จน์ง ์๊ฒ ๊ธฐ์ตํด๋๊ธฐ
๊น๋จน์ง ์๊ฒ ๊ธฐ์ตํด๋๊ธฐ
์ ๋ฆฌ์, ๋ฌด๋ฆฌ์, ์ค์
๊ธฐ์๋ฒ
์ ์
์งํฉ
๋ช ์ ์ ๋ ผ๋ฆฌ์ฐ์ฐ
## ๊ฑฐํ(๋ฒ๋ธ)์ ๋ ฌ - ๊ฐ๊น์ด ๋ ์์๋ฅผ ๋น๊ตํด์ ์ ๋ ฌํ๋ ๋ฐฉ์์ด๋ค. - `O(N^2)` - ์ฝ๋๊ฐ ๋จ์ํ๊ณ ๊ตฌํํ๊ธฐ ์ฝ๋ค - ๋๋ฆฌ๋ค.  ```javascript function bub...
`toc tight: true, from-heading: 1 to-heading: 4 ` ํ์ ์คํฌ๋ฆฝํธ๋ก ๊ตฌํํด๋ณด๋ ์ผ๋ฐ์ ์ธ ์๋ฃ๊ตฌ์กฐ ## Stack - push์ pop์ผ๋ก ๊ตฌ์ฑ๋ stack - LIFO ```javascript export default class Stack<T> { private stack: T[] construc...
## Fish ### ๋ฌธ์ ๊ธธ์ด N์ผ๋ก ์ด๋ฃจ์ด์ง ๋น์ด์์ง ์์ ๋ฐฐ์ด A, B๊ฐ ์ฃผ์ด์ง๋ค. ๋ฐฐ์ด A๋ ๋ฌผ๊ณ ๊ธฐ์ ํฌ๊ธฐ๋ฅผ, B๋ ๋ฌผ๊ณ ๊ธฐ์ ์์ง์์ ๋ํ๋ด๋๋ฐ, 0์ผ ๊ฒฝ์ฐ ์๋ก, 1์ผ ๊ฒฝ์ฐ ์๋๋ก ๊ฐ๋ค. ๋ง์ฝ ๋๋ง๋ฆฌ์ ๋ฌผ๊ณ ๊ธฐ๊ฐ ๋ง๋ ๊ฒฝ์ฐ, ๋ ์ฌ์ด์ฆ๊ฐ ํฐ ๋ฌผ๊ณ ๊ธฐ๊ฐ ์ก์๋จน์ด๋ฒ๋ฆฐ๋ค. ์ด ๋ ์ด์๋จ๋ ๋ฌผ๊ณ ๊ธฐ์ ์๋ฅผ ๊ตฌํ๋ผ. ``` A[0] = 4 B[0] =...
## Nesting ### ๋ฌธ์ `(`์ `)`๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด ์๋ค. ์ด ๋ฌธ์์ด์ `(` `)` ์ง์ด ๋ง๊ฒ ์ด๋ฃจ์ด์ ธ ์๋์ง ํ์ธํ๋ผ. ### ํ์ด ```javascript function solution(S) { const split = S.split('') const stack = [] for (let i of split...
## StoneWall ### ๋ฌธ์ ๋์ N๋ฏธํฐ ๊ธธ์ด๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๋๊ป๋ ๋ชจ๋ ์ผ์ ํ๋ค. ๋ฐฐ์ผ์ ๋ ๋์ด๊ฐ ์ฃผ์ด์ ธ ์์ผ๋ฉฐ, ์๋์ ๊ฐ์ด ํด์ํ ์ ์๋ค. - H[i]: ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฒฝ์ ๋์ด - H[0]: ๋ฒฝ ์ผ์ชฝ ๋์ ๋์ด - H[N-1]: ๋ฒฝ ๋ง์ง๋ง ๋์ ๋์ด ``` H[0] = 8 H[1] = 8 H[2] = 5 H[3]...
## Brackets ### ๋ฌธ์ ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ง๊ณ , S๋ ๋ค์ ๊ฒฝ์ฐ ์ผ ๋ ์ฐธ์ ๋ฐํํด์ผ ํ๋ค. - S๊ฐ ๋น์ด์๋ ๊ฒฝ์ฐ - `(U)` or `[U]` or `{U}` ์ ํํ๋ก ๊ดํธ์์ ๋ฌธ์์ด์ด ์๋ ๊ฒฝ์ฐ - ๊ดํธ๊ฐ ์ง์ด ๋ง๊ฒ ๋ซํ์๋ ๊ฒฝ์ฐ ์๋ฅผ ๋ค์ด `{[()()]}`๋ ๊ดํธ๊ฐ ์๋ง๊ฒ ๋ค์ด์์ง๋ง, `([)()]`๋ ๊ทธ๋ ์ง ๋ชปํ๋ค. (์ง์ ๋ง...
## Frog River One ### ๋ฌธ์ ๊ฐ๊ตฌ๋ฆฌ๊ฐ X ๊น์ง ๊ฐ๊ณ ์ถ์๋ฐ, X๊น์ง ๊ฐ๊ธฐ ์ํด์๋ 1๋ถํฐ X๋ฅผ ๋ชจ๋ ์ง๋๊ฐ์ผ ํ๋ค. ์๋ฅผ ๋ค์ด๋ณด์. ``` ์ด๋ ๊ฒ ๋ฐฐ์ด์ด ์ฃผ์ด์ ธ ์๊ณ A[0] = 1 A[1] = 3 A[2] = 1 A[3] = 4 A[4] = 2 A[5] = 3 A[6] = 5 A[7] = 4 5๊น์ง ๊ฐ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํ์๋, A[...
## Max Counters ### ๋ฌธ์ ์ซ์ N์ด ์ฃผ์ด์ง๋ค. ์ด ์ซ์ N์ ๋ชจ๋ ์์๊ฐ 0์ธ ๊ธธ์ด N์ธ ๋ฐฐ์ด์ ์๋ฏธํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐฐ์ด A๊ฐ ์กด์ฌํ๋ค. ``` ์ซ์ N์ด 5๋ก ์ฃผ์ด์ง๊ณ , ๋ฐฐ์ด A๋ [3, 4, 4, 6, 1, 4, 4] ๋ผ๊ณ ๊ฐ์ ํ์. ์ด๊ธฐ ๊ฐ [0, 0, 0, 0 0] A[0] = 3, 3๋ฒ์งธ (3-1๋ฒ์งธ) ์์์ ํฌ๊ธฐ๋ฅผ 1 ๋๋ฆฐ...
## Missing Integer ### ๋ฌธ์ ์ฃผ์ด์ง ๋ฐฐ์ด A์ ๋น ์ ธ ์๋ ๊ฐ์ฅ ์์ ์์ ์ ์๋ฅผ ๊ตฌํ์์ค ``` A=[1, 3, 6, 4, 1, 2] ์ด๋ผ๋ฉด ๋ต์ 5 A=[1, 2, 3] ์ด๋ผ๋ฉด ๋ต์ 4 A=[-1, -3] ์ด๋ผ๋ฉด ๋ต์ 1 ``` ### ํ์ด ```javascript function solution(A) { // ๋ฐฐ์ด ๊ธธ...
## Distinct ### ๋ฌธ์ ๋ฐฐ์ด A์์ uniqueํ ์ซ์๊ฐ ๋ช ๊ฐ ์๋์ง ๋ฆฌํดํ๋ผ. ### ํ์ด ```javascript function solution(A) { return [...new Set(A)].length } ``` Set์ ํ์ฉํ๋ฉด ์ฝ๊ฒ ํ ์ ์๋ค. Set์ด ์๋๋๋ผ๋ object๋ฑ์ ํ์ฉํด๋ณด๋ฉด ๋๋ค. https:...
## Max Product of Three ### ๋ฌธ์ ๊ธธ์ด N์ธ ๋ฐฐ์ด A๊ฐ ์ฃผ์ด์ก์๋, ์์๋ก ์ธ๊ฐ์ ์ซ์๋ฅผ ๊ณฑํ์ ๋ ๊ฐ์ฅ ํฐ ๊ฐ์ ๋ง๋ค ์ ์๋ ๋ฐฐ์ด์ Index๋ฅผ ๋ฆฌํดํด๋ผ. ``` A[0] = -3 A[1] = 1 A[2] = 2 A[3] = -2 A[4] = 5 A[5] = 6 2, 4, 5๋ฒ์งธ๋ฅผ ๊ณฑํ๋ฉด 60์ ๋ง๋ค์ ์๊ณ ์ด๊ฒ์ด ๊ฐ์ฅ ํฐ ...
## Number of Disc Intersections ### ๋ฌธ์ N๊ฐ์ ๋์คํฌ๊ฐ ์กด์ฌํ๊ณ , ๋์คํฌ๋ ๊ฐ๊ฐ 0~ N-1์ ๋ฒํธ๋ฅผ ๊ฐ์ง๋ค. ์ด๋ A๋ผ๋ ๋ฐฐ์ด์์ ํํ๋๋๋ฐ, `A[N]` ๋ ํด๋น ๋์คํฌ์ ๋ฐ๊ฒฝ์ ์๋ฏธํ๋ค. ``` A[0] = 1 A[1] = 5 A[2] = 2 A[3] = 1 A[4] = 4 A[5] = 0 ``` ![discs]...
## Triangle ### ๋ฌธ์ ๊ธธ์ด N์ ๋ฐฐ์ด A๊ฐ ์ฃผ์ด์ง๋ค. (P, Q, R)์ ์ผ๊ฐํ์ด ๋ ์ ์๋๋ฐ, ์ด๋ - 0 โค P < Q < R < N - A[P] + A[Q] > A[R] - A[Q] + A[R] > A[P] - A[R] + A[P] > A[Q] ๋ผ๋ ์กฐ๊ฑด์ ๋ง์กฑ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ``` A[0] = 10 A[1] ...
## 1-1 Binary Gap ### ๋ฌธ์ ์ซ์ N์ ์ด์ง์๋ก ๋ฐ๊ฟจ์๋, 1๊ณผ 1์ฌ์ด์ ์๋ 0์ ๊ฐ์๊ฐ ๊ฐ์ฅ ๋ง์ด ์ฐ์ํด ์๋ 0์ ๊ฐ์๋ฅผ ๊ตฌํ๋ผ. ``` 9๋ ์ด์ง์๋ก ๋ฐ๊ฟ ๊ฒฝ์ฐ 1001, ์ด๊ฒฝ์ฐ 0์ ์ต๋ ๊ฐ์๋ 2. 529๋ ์ด์ง์๋ก ๋ฐ๊ฟ ๊ฒฝ์ฐ 1000010001, ์ด๊ฒฝ์ฐ 0์ ์ต๋ ๊ฐ์๋ 3. 20์ ์ด์ง์๋ก ๋ฐ๊ฟ ๊ฒฝ์ฐ 10100, ์ด ๊ฒฝ์ฐ...