Jieunny์ ๋ธ๋ก๊ทธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ ๊ฐ์ ๋ณธ๋ฌธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ ๊ฐ์
Jieunny 2023. 3. 3. 11:06๐ ๋ฌธ์
๋ฌธ์ ์ค๋ช
์ฒ ํธ๋ ์์ด์ ๊ฐ์ง๊ณ ๋๊ธฐ ์ข์ํฉ๋๋ค. ์ด๋ ๋ ์ฒ ํธ๋ ์ด๋ค ์์ฐ์๋ก ์ด๋ฃจ์ด์ง ์ํ ์์ด์ ์ฐ์ํ๋ ๋ถ๋ถ ์์ด์ ํฉ์ผ๋ก ๋ง๋ค ์ ์๋ ์๊ฐ ๋ชจ๋ ๋ช ๊ฐ์ง์ธ์ง ์์๋ณด๊ณ ์ถ์ด์ก์ต๋๋ค. ์ํ ์์ด์ด๋ ์ผ๋ฐ์ ์ธ ์์ด์์ ์ฒ์๊ณผ ๋์ด ์ฐ๊ฒฐ๋ ํํ์ ์์ด์ ๋งํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์์ด [7, 9, 1, 1, 4] ๋ก ์ํ ์์ด์ ๋ง๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ํ ์์ด์ ์ฒ์๊ณผ ๋์ด ์ฐ๊ฒฐ๋์ด ๋๊ธฐ๋ ๋ถ๋ถ์ด ์๊ธฐ ๋๋ฌธ์ ์ฐ์ํ๋ ๋ถ๋ถ ์์ด๋ ์ผ๋ฐ์ ์ธ ์์ด๋ณด๋ค ๋ง์์ง๋๋ค.
์ํ ์์ด์ ๋ชจ๋ ์์ elements๊ฐ ์์๋๋ก ์ฃผ์ด์ง ๋, ์ํ ์์ด์ ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ผ๋ก ๋ง๋ค ์ ์๋ ์์ ๊ฐ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- 3 ≤ elements์ ๊ธธ์ด ≤ 1,000
- 1 ≤ elements์ ์์ ≤ 1,000
๐ก ์์ด๋์ด
์ํ ์์ด์ด๋๊น elements๋ฅผ concat์ผ๋ก ํฉ์ณ์ ๋ง๋ค์ด์ฃผ๊ณ , ๋์ for๋ฌธ์ elements ๋งํผ๋ง ๋๋ค.
๊ฒน์น๋ ํฉ์ ์ ๊ฑฐํด์ผ ํ๋ฏ๋ก set์ ์ฌ์ฉํด์ค๋ค.
0๋ถํฐ 1๊ฐ, 2๊ฐ, 3, 4๊ฐ, 5๊ฐ๊น์ง ๋๊ณ , j๊ฐ ์ฆ๊ฐํ๋ฉด 1๋ถํฐ 1๊ฐ, 2๊ฐ...๋๋ฉด์ ํฉ์ ๊ตฌํด์ค๋ค.
ํฉ์ ๊ตฌํ๋ ํจ์ sum์ ๋ฐ๋ก ๋ง๋ค์ด์คฌ๋ค.
โ๏ธ ํ์ด
function solution(elements) {
var answer = 0;
let set = new Set();
let doubleElements = elements.concat(elements);
for(let i=0; i<elements.length; i++){
for(let j=0; j<elements.length; j++){
set.add(sum(doubleElements.slice(j, j+i+1)))
}
}
answer = set.size;
return answer;
}
function sum(arr){
let sum = 0;
for(let i of arr){
sum+=i;
}
return sum;
}
'Study > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ํ๊ฒ ๋๋ฒ (0) | 2023.03.09 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ด์ค ํด๋ฌ์คํฐ๋ง (0) | 2023.03.03 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๊ธฐ๋ฅ ๊ฐ๋ฐ (0) | 2023.03.02 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - n^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ (0) | 2023.02.28 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ํํ (0) | 2023.02.28 |