코딩 테스트/프로그래머스 level2 28

n^2 배열 자르기

처음 코드 function solution(n, left, right) { let matrix = new Array(n).fill(0).map(() => new Array(n).fill(0)); for (let i = 0; i = j) matrix[i][j] = i + 1; else matrix[i][j] = j + 1; } } matrix = matrix.flat().slice(left, right + 1); return matrix; } 문제에서 요구한대로 배열을 만들고 자르고 했는데 이러면 배열의 크기가 너무 커서 오류가 난다 조금 더 빠르게 function soluti..

위장

코드 function solution(clothes) { let obj = {}; let result = 1; for (let i = 0; i < clothes.length; i++) { if (clothes[i][1] in obj) obj[clothes[i][1]]++; else obj[clothes[i][1]] = 1; } for (let key in obj) { result *= obj[key] + 1; } return result - 1; } 조합의 문제이다 안경이 4개 모자가 3개 옷이 2개라면 (4C1+4C0) * (3C1+3C0) * (2C1+2C1) -1이 답이다 -1은 모두 안입을 경우가 없기때문이며 각각의 옷을 1개 입거나 0개 입을 경우가 있으므로