(1) 내 풀이function solution(arr){ let answer = []; for (let i=0; i 1. 비교해서 같지 않은 숫자는 push로 새로운 배열에 넣어준다. (2) 다른 사람 풀이function solution(arr){ return arr.filter((val,index) => val != arr[index+1]);}* 간단하게 filter 사용해서 적용하기* 다음값을 arr[indext+1]로 비교하기 => 같지 않은 값만 출력 끝.
(1) 내 풀이 function solution(answers) { let answer =[] let math1 =[1, 2, 3, 4, 5] let math2 =[2, 1, 2, 3, 2, 4, 2, 5] let math3 =[3, 3, 1, 1, 2, 2, 4, 4, 5, 5] let cnt =[0,0,0] for (let i =0 ; i return [1] 1. 수포자123의 답 = math1[i%math1.length] === answer[i] 를 비교 (배열의 인덱스를 [ i % 배열의 길이] 로 사용하기) 2. cnt 각각에 값을 증가시키면 [5,0,0] 이 나옴 3. Math.max를 사용해서 3가지 중에 가장 큰 값을 구하기 4. cnt와 최대값이 같다면 answer 배열에 끝에 넣기 끝.
*문제 : computers=[[1, 1, 0], [1, 1, 0], [0, 0, 1]] / n =3 1. 포인트는 해당 인덱스를 방문했는지 여부 => visited 2. 방문하지 않았으면 dfs 함수 실행 => dfs(i) 3. dfs(i) 실행 후 해당 인덱스는 visited[i] = true로 변경 4. 2차원배열의 값이 1 && 방문하지 않았다면 => dfs(i) 실행 (1) 내 풀이 function solution(n, computers) { let answer = 0; let visited = new Array(n).fill(false) const dfs =(start)=>{ visited[start] =true; for(let i = 0; i
*문제 : numbers =[4,1,2,1,] / target =4 이해가 안 되서 재귀함수를 직접 그려보니, 제대로 이해할 수 있었음 (1) 수행동작인 dfs 더하기 / 빼기 부분 (2) return 하는 조건 => 배열의 길이 (3) answer 계산하는 조건 => target값과 sum값이 같을 경우 (1) 내 풀이 function solution(numbers, target) { let answer = 0; const dfs = (index,sum)=>{ if(index ===numbers.length){ if( sum === target){ answer ++; } return; } dfs(index+1, sum+ numbers[index]) dfs(index+1, sum- numbers[inde..
(1) 내 코드 function solution(clothes) { let clothesMap ={}; //1. 의상의 종류가 중요함 clothes.forEach(arr=>{ const [name,type] = arr if(clothesMap.hasOwnProperty(type)){ clothesMap[type] ++; } else{ clothesMap[type]=1 } }) //console.log(clothesMap) //{ headgear: 2, eyewear: 1 } let answer = 1; //2. 의상의 종류의 경우의 수 : 착용과 착용하지 않았을 모든 경우 //2-1. 착용하지 않은 경우를 위해 +1 for( let val in clothesMap){ //console.log(val) /..
(1) 내 풀이 function solution(array, commands) { let sort = [] let answer = []; commands.map(command=>{ sort = array .slice(command[0]-1,command[1]) .sort((a,b)=>a-b) .filter((x,index)=>index === command[2]-1) answer.push(sort) }) return answer.flat() } * commands = [[2, 5, 3], [4, 4, 1], [1, 7, 3]] 1. map을 돌려서 각각의 배열의 index를 사용함 2. slice를 사용하여 구간 값 추출 3. sort를 사용하여 오름차순 정렬 4. filter를 사용하여 k번째수 추출 ..