Question
์ ํ์ฌํญ
- nums๋ ํฐ์ผ๋ชฌ์ ์ข ๋ฅ ๋ฒํธ๊ฐ ๋ด๊ธด 1์ฐจ์ ๋ฐฐ์ด์ ๋๋ค.
- nums์ ๊ธธ์ด(N)๋ 1 ์ด์ 10,000 ์ดํ์ ์์ฐ์์ด๋ฉฐ, ํญ์ ์ง์๋ก ์ฃผ์ด์ง๋๋ค.
- ํฐ์ผ๋ชฌ์ ์ข ๋ฅ ๋ฒํธ๋ 1 ์ด์ 200,000 ์ดํ์ ์์ฐ์๋ก ๋ํ๋ ๋๋ค.
- ๊ฐ์ฅ ๋ง์ ์ข ๋ฅ์ ํฐ์ผ๋ชฌ์ ์ ํํ๋ ๋ฐฉ๋ฒ์ด ์ฌ๋ฌ ๊ฐ์ง์ธ ๊ฒฝ์ฐ์๋, ์ ํํ ์ ์๋ ํฐ์ผ๋ชฌ ์ข ๋ฅ ๊ฐ์์ ์ต๋๊ฐ ํ๋๋ง return ํ๋ฉด ๋ฉ๋๋ค.
์ ์ถ๋ ฅ ์์
My Code
function solution(nums) {
let n = nums.length/2;
let set = new Set(nums);
return set.size > n ? n : set.size;
}
์ ๋ ๊ฒ ๊ธด ๋ฌธ์ ๋ฅผ ๋ณด๋ฉด ์๊ฐ ๋ฉ์นซํ๊ฒ ๋๋ค.
์์ง ๋ ๋ฒจ1์ด๋ฉด์ ์ ์ด๋ ๊ฒ ๊ธฐ์์ฃ ?
์์ฝํด์ ์ค์ํ ๋ด์ฉ์ ์ถ๋ ค๋ณด์๋ฉด......
- ์ต๋๋ก ๊ฐ์ ธ๊ฐ์ ์๋ ํฐ์ผ๋ชฌ์ N/2 ๋ง๋ฆฌ๋ค.
- ์ค๋ณต๋ ํฐ์ผ๋ชฌ๋ค์ด ์๋ค โก ๊ฐ์ด ์ค๋ณต๋๋ ๋ฐฐ์ด์ด ์ ๋ ฅ๊ฐ์ผ๋ก ๋ค์ด์จ๋ค.
- ์ต๋ํ ๋ง์ ์ข ๋ฅ์ ํฐ์ผ๋ชฌ์ ๊ฐ์ ธ์ค๊ณ ์ถ๋ค.
HOW? (ํ์ด๋ฐฉ๋ฒ)
1. ๋ณ์ n์ ์ต๋๋ก ๊ฐ์ ธ๊ฐ ์ ์๋ ํฐ์ผ๋ชฌ์ ๋ง๋ฆฌ์์ธ nums.length/2๋ฅผ ํ ๋นํ๋ค.
2. ์๋ฃํ set์ ์ด์ฉํด์ ์ ๋ ฅ๋ฐ๋ nums์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ค.
์ข ๋ฅ๋ค๋ก๋ง ์ถ๋ฆผ
3. set.size๊ฐ n๋ณด๋ค ํฌ๋ค๋ฉด n์ return ํ๊ณ ์๋ค๋ฉด set.size๋ฅผ return ํ๋ค.
๊ฐ์ ธ๊ฐ ์ ์๋ n๋ง๋ฆฌ์๋ก ํ์ ๋์ด์์ผ๋ set.size๊ฐ n๋ณด๋ค ํฌ๋ค๋ฉด
๋ ๋ง์ ํฐ์ผ๋ชฌ์ ๊ฐ์ ธ๊ฐ๊ฒ ๋๋ฏ๋ก ํ๋ฆฐ๋ค. ๋ฐ๋ผ์ n์ return ํ๋ ๊ฒ์ด๋ค.
์ฒ์์๋ map์ ์ฌ์ฉํด์ ์ข ๋ฅ๋ฅผ ์ธ์ผ ํ๋ ๋ณต์กํ ๋ฐฉ๋ฒ์ ์๊ฐํ๋ค.
์ด๋ป๊ฒ ํด์๋ for๋ฌธ์ด๋ ์กฐ๊ฑด๋ฌธ์ ๋จ๋ฐํ์ง ์๊ณ method๋ฅผ ์ด์ฉํด์ ํ๊ณ ์ถ์๋ค.
์์ผ๋ก ๋์ ์ด๋ค ๋ณด๋ set ์๋ฃํ์ด ์๊ฐ๋ฌ๊ณ ์ค๋ณต์ ์์ค๋ค์
set.size๋ฅผ ์ด์ฉํด์ ๋ต์ return ํ๋ฉด ๋๊ฒ ๊ตฌ๋ ์๊ฐ์ด ๋ค์๋ค.
์ด์ฉ๋ฉด ๋๊ตฐ๊ฐ๊ฐ ๋จผ์ ์๊ฐํ๊ณ ์ด ๋ต์ผ ์๋ ์์ง๋ง
๋์๊ฒ ์ ๋ง ์ ๋ ์นด์๋ค...!
์ค๋๋ง์ ๋ค์ ์๊ณ ๋ฆฌ์ฆ์ ํ๋ค ๋ณด๋
์๊พธ ๊ตฌ๊ธ๋ง์ ํด์ ๊ธ๋ฐฉ ๋ต์ ๋์ถํด๋ด๊ณค ํ๋ค.
๊ทธ๊ฑด ๋ด๊ฐ ํผ ๊ฒ ์๋๊ณ ๋ค๋ฅธ ์ฌ๋๋ค์ด ํผ ๊ฑฐ๋ผ๋ ์๊ฐ์ด ์์ฐ์ค์ ๋จ์์์๋ ๋ณด๋ค.
๊ทธ๋๋ ์ด๋ ์ ๋ ์ค๊ฐ์ด๋ 3๋ถ์ 2๊น์ง๋ ์๊ฐํด๋์ผ๋๊น ์ด๋ผ๊ณ ๋ณ๋ช ์๋ ๋ณ๋ช ์ ํ์ง๋ง
์ฌ์ค ๋ง๋ ๋ง์ด๊ธฐ๋ ํ๋ค ๊ทธ๊ฑด ๋ค๋ฅธ ์ฌ๋๋ค์ด ์๊ฐํ ๊ฒ ๋ง๋ค ๐คฃ
๊ทธ๋์ ๋์ฑ ๋ฟ๋ฏํ๋ค...!!!!!!!
์์ผ๋ก๋ ์๊ณ ๋ฆฌ์ฆ ํ ๋๋ ์๊ฐ ํ ์ ๋๊ณ ๋ฐฐ์ ๋ ๊ฒ๋ค
์ฐจ๋ถํ๊ฒ ์๊ฐํด๋ณด๋ฉด
ํธ๋ ๋ฐฉ์์ ๋์ถํด ๋ผ ๊ฒ์ด๋ค.
'Algorithms > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค : x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์ (0) | 2022.07.13 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค : 2016๋ (0) | 2022.06.04 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : K๋ฒ์งธ ์ (0) | 2022.05.29 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (0) | 2022.05.27 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ (0) | 2022.05.22 |