๐ค ์์งlog ๐ค
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ฐฐ์ด ๋น๊ตํ๊ธฐ ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ฐฐ์ด ๋น๊ตํ๊ธฐ
Eun_zii 2024. 3. 26. 16:47ํ๋ก๊ทธ๋๋จธ์ค Lv.0
- ๋ฐฐ์ด ๋น๊ตํ๊ธฐ
๐ ๋ฌธ์ ์ค๋ช
- ์ด ๋ฌธ์ ์์ ๋ ์ ์ ๋ฐฐ์ด์ ๋์๊ด๊ณ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค.
- ๋ ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ๋ค๋ฅด๋ค๋ฉด, ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ๊ธด ์ชฝ์ด ๋ ํฝ๋๋ค.
- ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ๊ฐ๋ค๋ฉด ๊ฐ ๋ฐฐ์ด์ ์๋ ๋ชจ๋ ์์์ ํฉ์ ๋น๊ตํ์ฌ ๋ค๋ฅด๋ค๋ฉด ๋ ํฐ ์ชฝ์ด ํฌ๊ณ , ๊ฐ๋ค๋ฉด ๊ฐ์ต๋๋ค.
- ๋ ์ ์ ๋ฐฐ์ด arr1๊ณผ arr2๊ฐ ์ฃผ์ด์ง ๋, ์์์ ์ ์ํ ๋ฐฐ์ด์ ๋์๊ด๊ณ์ ๋ํ์ฌ arr2๊ฐ ํฌ๋ค๋ฉด -1, arr1์ด ํฌ๋ค๋ฉด 1, ๋ ๋ฐฐ์ด์ด ๊ฐ๋ค๋ฉด 0์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
๐ ์ ํ์กฐ๊ฑด
- 1 ≤ arr1์ ๊ธธ์ด ≤ 100
- 1 ≤ arr2์ ๊ธธ์ด ≤ 100
- 1 ≤ arr1์ ์์ ≤ 100
- 1 ≤ arr2์ ์์ ≤ 100
- ๋ฌธ์ ์์ ์ ์ํ ๋ฐฐ์ด์ ๋์๊ด๊ณ๊ฐ ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ ์๋ ๋ฐฐ์ด์ ๋์๊ด๊ณ์ ๋ค๋ฅผ ์ ์๋ ์ ์ ์ ์ํด์ฃผ์ธ์.
๐ ํ์ด
function solution(arr1, arr2) {
let answer = 0;
if (arr1.length !== arr2.length) {
answer = arr2.length > arr1.length ? -1 : 1;
} else {
const sum1 = arr1.reduce((a, c) => a + c, 0);
const sum2 = arr2.reduce((a, c) => a + c, 0);
if (sum1 !== sum2) {
answer = sum2 > sum1 ? -1 : 1;
}
}
return answer;
}
โ
๋ฌธ์ ์ " ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ๊ฐ๋ค๋ฉด ๊ฐ ๋ฐฐ์ด์ ์๋ ๋ชจ๋ ์์์ ํฉ์ ๋น๊ตํ์ฌ ๋ค๋ฅด๋ค๋ฉด ๋ ํฐ ์ชฝ์ด ํฌ๊ณ , ๊ฐ๋ค๋ฉด ๊ฐ์ต๋๋ค. " ์ด๋ถ๋ถ์ ์ด๋ป๊ฒ ํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ด์ ๊ฒ์ํด๋ณด์๋น ..
์ฐ์ answer ๋ณ์๋ฅผ 0์ผ๋ก ์ด๊ธฐํํด์ฃผ๊ณ ,
arr1๊ณผ arr2์ ๊ธธ์ด๊ฐ ๋ค๋ฅด๊ณ , arr2์ ๊ธธ์ด๊ฐ ๋ ํฌ๋ค๋ฉด -1์ ๋ฐํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด 1์ answer๋ก ๊ฒฐ์ ํด์ค๋ค.
๋ ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ๊ฐ๋ค๋ฉด, ๊ฐ ๋ฐฐ์ด์ ํฉ์ ๊ตฌํ์ฌ ๋น๊ตํ๋ค. ํฉ์ด ๋ค๋ฅด๋ค๋ฉด, ํฉ์ด ํฐ ๋ฐฐ์ด์ ๋ฐ๋ผ answer๋ฅผ ๊ฒฐ์ ํด์ค๋ค.
reduce( ) ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์๋๋ฐ sum1๊ณผ sum2 ๋ณ์๋ ๊ฐ๊ฐ arr1๊ณผ arr2 ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ํฉํ ๊ฐ์ด๊ณ ,
์ด๋ a๋ ๋์ ๊ฐ(accumulator)์ด๊ณ c๋ ํ์ฌ ์์์ ๊ฐ(currentValue)์ด๋ค.
์์ง reduce( ) ์ฌ์ฉ์ด ์ด๋ ต๋น .. ๐๐จ
๐ก reduce( ) ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ ๊ณต๋ ์ฝ๋ฐฑ ํจ์๋ฅผ ์คํํ๊ณ , ๊ฐ ์์์ ๊ฐ์ ๋์ ํ์ฌ ํ๋์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํฉ๋๋ค. ์ด ๋ฉ์๋๋ ๊ฐ ์์๋ฅผ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ฉด์ ๋์ ๊ฐ์ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
array.reduce(callback(accumulator, currentValue, currentIndex, array), initialValue)
- callback: ๊ฐ ์์์ ๋ํด ์คํํ ํจ์์
๋๋ค. ๋ค ๊ฐ์ ์ธ์๋ฅผ ๊ฐ์ง๋๋ค.
- accumulator: ์ฝ๋ฐฑ ํจ์์์ ๋์ ๋ ๊ฐ์ ๋๋ค.
- currentValue: ํ์ฌ ์ฒ๋ฆฌ ์ค์ธ ์์์ ๊ฐ์ ๋๋ค.
- currentIndex: ํ์ฌ ์ฒ๋ฆฌ ์ค์ธ ์์์ ์ธ๋ฑ์ค์ ๋๋ค. (์ ํ ์ฌํญ)
- array: reduce()๋ฅผ ํธ์ถํ ๋ฐฐ์ด์ ๋๋ค. (์ ํ ์ฌํญ)
- initialValue: ์ฒซ ๋ฒ์งธ ์์์ ๋ํ ์ด๊ธฐ๊ฐ์ ๋๋ค. ์ด ๊ฐ์ ์ฒซ ๋ฒ์งธ ํธ์ถ์์ accumulator์ ์ด๊ธฐ๊ฐ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. (์ ํ ์ฌํญ)
'๐ ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ํ ์ผ ๋ชฉ๋ก (0) | 2024.03.26 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํ๊ธฐ 2 (0) | 2024.03.26 |
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ฐฐ์ด์์ ๋ฌธ์์ด ๋์๋ฌธ์ ๋ณํํ๊ธฐ (0) | 2024.03.26 |
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ๋ง์ง๋ง ๋ ์์ (0) | 2024.03.26 |
[ํ๋ก๊ทธ๋๋จธ์ค:Javascript] ์นด์ดํธ ์ (0) | 2024.03.25 |