function solution(num, total) {
// 초기 값을 구하는 과정
// total / num 으로 연속 되는 숫자의 중간 값을 구한다
// 구한 중간값에서 num / 2의 내림을 해서 구한 자릿수 값을 빼고
// 그 값을 올림으로 해서 초기 값을 구한다
// ex) num = 3 / total = 12
// total / num = 4
// num / 2 = 1.5 >>> 1 (내림) Math.floor
// 4 - 1 = 3 해서 초기값은 3(소수점이면 올려준다) Math.ceil
const min = Math.ceil(total/num - Math.floor(num / 2));
// Array.from() 매서드를 이용해 구해둔 초기값 부터 num의 길이 만큼 해서 답을 구한다.
return Array.from({ length: num }, (_, i) => i + min);
}
이번 문제는 접근하는 방법이 조금 어려웠다.
접근법 :
1. 중간값을 구한다음 구한 자릿수 값을빼고 그 값을 올림으로 해서 초기값을 구한다.
2. 초기값 부터 num의 길이 만큼 return 해준다.
'알고리즘 > test' 카테고리의 다른 글
javascript) 프로그래머스 - 7의 개수 (0) | 2023.01.10 |
---|---|
javascript) 프로그래머스 - 잘라서 배열로 저장하기 (0) | 2023.01.10 |
javascript) 프로그래머스 - 문자열 밀기 (0) | 2023.01.10 |
javascript) 프로그래머스 - 종이 자르기 (0) | 2023.01.10 |
javascript) 프로그래머스-다음에 올 숫자 (0) | 2023.01.10 |