์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ๋ถํธ์บ ํ
- ํ๋ก ํธ์๋
- ๋ด์ผ๋ฐฐ์
- ํ๋ก์ ํธ
- ๋ฆฌ์กํธ
- Redux
- ํจ์
- type
- ์๊ณ ๋ฆฌ์ฆ
- ๋ด์ผ๋ฐฐ์์บ ํ
- ์ฝ๋ฉ
- ์๋ฌ
- ์จ๋ผ์ธ
- native
- API
- rn
- JavaScript
- K-Digital
- trainning
- JS
- ๋ณ์
- PROJECT
- ํ์
- wil
- ํ์ค
- ์๋ฐ์คํฌ๋ฆฝํธ
- react
- Firebase
- NEXT
- ๊ฐ๋ฐ์
- Today
- Total
Frontend ๊ฐ๋ฐ์ - hyo.loui
ํ๋ก๊ทธ๋๋จธ์ค - ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋๋จธ์ค - ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ
hyo.loui 2023. 4. 24. 12:14๐ฏ๋ชฉ์ :
Algorithm ๋ฌธ์ ํ์ด ๊ณผ์ ์ ๊ธฐ๋กํฉ๋๋ค.
๋๋ง์ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๊ณต์ ํฉ๋๋ค.
1๏ธโฃ ๋ฌธ์ ๋งํฌ์ ๋ฌธ์
2๏ธโฃ ํ์ด ์ ๊ณํ๊ณผ ์๊ฐ (์๋ ์ฝ๋)
3๏ธโฃ ํ์ด (์ฝ๋ ๋ธ๋ก ์ฒจ๋ถ)
4๏ธโฃ ํ์ดํ๋ฉด์ ๋งํ๋ ์ ๊ณผ ๊ณ ๋ฏผ
5๏ธโฃ ํ์ด ํ ์๊ฒ๋ ๊ฐ๋
๊ณผ ์๊ฐ
๋ฌธ์ ๋งํฌ
https://school.programmers.co.kr/learn/courses/30/lessons/12935
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฌธ์
์ ์๋ฅผ ์ ์ฅํ ๋ฐฐ์ด, arr ์์ ๊ฐ์ฅ ์์ ์๋ฅผ ์ ๊ฑฐํ ๋ฐฐ์ด์ ๋ฆฌํดํ๋ ํจ์,
solution์ ์์ฑํด์ฃผ์ธ์. ๋จ, ๋ฆฌํดํ๋ ค๋ ๋ฐฐ์ด์ด ๋น ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ์ ๋ฐฐ์ด์ -1์
์ฑ์ ๋ฆฌํดํ์ธ์. ์๋ฅผ๋ค์ด arr์ด [4,3,2,1]์ธ ๊ฒฝ์ฐ๋ [4,3,2]๋ฅผ ๋ฆฌํด ํ๊ณ , [10]๋ฉด
[-1]์ ๋ฆฌํด ํฉ๋๋ค.
์ ํ ์กฐ๊ฑด
- arr์ ๊ธธ์ด 1 ์ด์์ธ ๋ฐฐ์ด์ ๋๋ค.
- ์ธ๋ฑ์ค i, j์ ๋ํด i !== j ์ด๋ฉด arr[i] !== arr[j] ์ ๋๋ค.

ํ์ด ์ ๊ณํ (์๋ ์ฝ๋)
- ์ฐ์ ๋ฐฐ์ด์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ ํ pop() ๋ฉ์๋๋ก ๋งจ๋ค์ ์๋ ๊ฐ์ฅ ์์ ์๋ฅผ ๋นผ๋ฉด ๊ฐ๋จํ ๋ฏ ํ๋ค.
- ์ ๋ฐฉ๋ฒ์ด ํด๊ฒฐ๋์ง ์๋ ๊ฒฝ์ฐ ๋ฐฐ์ด์ ํ์ํ๋ฉฐ ์ต์๊ฐ์ ์ฐพ์์ผ ํ๋ค.
ํ์ด
1. ์ ๋ ฌ sort() ๋ฉ์๋ ์ฌ์ฉํ์ฌ ํ์ด


์์ฒ๋ผ ํ ์คํธ ์ผ์ด์ค๋ ํต๊ณผํ์ผ๋,
๋ฌธ์ ์ ์ถ์์ ์ ๋ถ ํต๊ณผํ์ง ๋ชปํ๋ค.
์์ธ์ ํ ์คํธ ์ผ์ด์ค๋ ์ ๋ ฌ์ด ๋์ด์๋ ์ผ์ด์ค์์ง๋ง..
์ ๋ ฌ์ด ์๋ ์ผ์ด์ค๋ ์์๊ฐ ๋ฐ๋๋ ๊ฒ ์ด๊ธฐ ๋๋ฌธ์
์ ๋ ฌ์ ํ๋ฉด ์๋๋ค...
2.


ํ์ดํ๋ฉฐ ๋งํ๋ ์ ๊ณผ ๊ณ ๋ฏผ
Max.min์ผ๋ก ์์ฝ๊ฒ ์ต์๊ฐ์ ๊ตฌํ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
ํ์ง๋ง ๋ฐฐ์ด์ด ๋ค์ด๊ฐ๋ ์๋ฌ๊ฐ ๋ฌ๊ณ ,
ํ๋์ฉ ๋ฃ๊ณ ์ for๋ฌธ์ ์ฌ์ฉํ์ง๋ง NaN์ด ๋์๋ค...
๋ถ๋ช ์์ฝ๊ฒ ํธ๋ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ ์ด๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
ํ์ด ํ ์๊ฒ๋ ๊ฐ๋ ๊ณผ ์๊ฐ

๋ด๊ฐ ์๊ฐํ๋ ๋ฐฉ๋ฒ์ด๋ค.
Math.min ์ ์ฌ์ฉํ ๋ ์ธ์๋ก ํญ์ ์ซ์๊ฐ ๋ค์ด๊ฐ์ผ ํ๊ธฐ ๋๋ฌธ์
spread์ฐ์ฐ์(...arr) ๋ก ๋ฐฐ์ด์ ๊นจ์ 1,2,3,4 ๋ก ๋ค์ด๊ฐ์ผํ๋ค...
์กฐ๊ธ๋ง ๋ ์๊ฐํด๋ณด๋ฉด ์ข์์ ํ ๋ฐ. ์์ฌ์ ๋ค.
๊ทธ๋ฆฌ๊ณ return์ ์ผํญ์ฐ์ฐ์๋ฅผ ํ์ฉ ํ๋๋ฐ ์กฐ๊ธ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ ธ ๋ณด์ธ๋ค.
ํ์ง๋ง filter๋ก min์ ๊ฑธ๋ฌ๋ธ ๊ฒ๋ ์ข์ ์์ด๋์ด์๋ค.
์ต์ข ์ ๋ฆฌ
- Math.min( ) ์ ์ธ์๋ก๋ ๋ฐฐ์ด์ด ๋ค์ด๊ฐ ์ ์๊ณ ๋ฐฐ์ด์ด๋ผ๋ฉด ์ ๊ฐ์ฐ์ฐ์(spread)๋ก ๋ฃ์ด์ฃผ๋ฉด ํ์ฉ ๊ฐ๋ฅํ๋ค.
- return๋ฌธ์ ์ผํญ์ฐ์ฐ์๋ฅผ ๊ธธ๊ฒ ์ฌ์ฉํ๋ ๊ฒ์ ๊ฐ๋ ์ฑ์ ํด์น๋ค.
- ๋ค๋ฅธ์ฌ๋์ ํ์ด๋ฅผ ํญ์ ๋ณด๋ฉด์ ๋ ์ข์ ๋ฐฉ๋ฒ์ ๋ํ ํํธ๋ฅผ ์ป๊ณ ๋ด ์ฝ๋์ ๋น๊ตํด ๋ณด์
'Algorithm & Data Structure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋น์ ํ ๊ตฌ์กฐ - ํธ๋ฆฌ, ๊ทธ๋ํ (0) | 2023.04.06 |
---|---|
์ ํ ๊ตฌ์กฐ์ ๋น์ ํ ๊ตฌ์กฐ (0) | 2023.04.06 |
์คํ, ํ (0) | 2023.04.06 |
์ฐ๊ฒฐ ๋ฆฌ์คํธ || ๋งํฌ๋ ๋ฆฌ์คํธ (0) | 2023.04.05 |
[In javascript] ์ฝ์ ์ ๋ ฌ, ๋ณํฉ ์ ๋ ฌ (Insertion Sort, Merge Sort) (0) | 2023.04.03 |