문제 🔽
https://school.programmers.co.kr/learn/courses/30/lessons/131701
다른사람 풀이 🔽
function solution(elements) {
const circular = elements.concat(elements);
const set = new Set();
for (let i = 0; i < elements.length; i++) {
let sum = 0;
for (let j = 0; j < elements.length; j++) {
sum += circular[i + j];
set.add(sum);
}
}
return set.size;
}
내풀이🔽
1. 실패 ❌ => ( 이유를 모르겠다 .. )
function solution(elements) {
var answer = 0;
let stack = []
for(let i=1; i<=elements.length; i++){
for(let j=0; j<elements.length; j++){
let sum =0;
for(let z=j; z<j+i; z++){
if(z>=elements.length){
sum+=elements[z-elements.length+1]
}else{
sum+=elements[z]
}
}
stack.push(sum)
}
}
answer = new Set(stack)
answer = [...answer]
return answer.length;
}
2. 성공 ⭕ =>
function solution(elements) {
var answer = 0;
let set = new Set()
for(let i=0; i<elements.length; i++){
let sum =0;
for(let j=1; j<=elements.length; j++){
sum+=elements[(i+j-1)%elements.length]
set.add(sum)
}
}
return set.size;
}
느낀점🔽
set 객체에 대한 공부를 할 수 있었다.
set 객체를 한마디로 정의하면 유일값만을 저장하는 객체이다
자세한 사항은 MDN을 통해 확인해보자!
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Set
'Javascript' 카테고리의 다른 글
프로그래머스 코딩테스트 풀이(js) > 행렬의 곱셈(lv2) (0) | 2023.07.03 |
---|---|
프로그래머스 코딩테스트 풀이(js) > n^2 배열 자르기(lv2) (0) | 2023.07.01 |
프로그래머스 코딩테스트 풀이(js) > H-index(lv2) (0) | 2023.06.29 |
프로그래머스 코딩테스트 풀이(js) > 귤고르기(lv2) (0) | 2023.06.28 |
프로그래머스 코딩테스트 풀이(js) > 멀리뛰기(lv2) (0) | 2023.06.27 |