프론트엔드✏️/코드캠프
알고리즘 - 별 거 없음
당근먹는하니
2022. 5. 20. 00:49
728x90
반응형
x만큼 간격이 있는 n개의 숫자
function solution(x, n) {
var answer = [];
for( let i = 1; i <= n; ++i) {
answer.push(x*i)
}
return answer;
}
등차수열 생각해서 풀었소
function solution(x, n) {
return Array(n).fill(x).map((v, i) => (i + 1) * v)
}
ㄷㅏ른 사람 풀이...쏘씸플이네..
map은 정말 언능 공부해야겠다
자릿수 더하기
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
이건 못 풀고 알고리즘 시간이 왔다.
//푼 시도... (틀린 코드)
function solution(n)
{
var answer = 0;
let arr = (String(n)).split(" ")
console.log(arr)
for(let i = 0; i < arr.length; ++i) {
answer += arr[i];
}
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
console.log('Hello Javascript')
return Number(answer);
}
(왜 굳이 배열로 바꾸려고 헀을까?!)
숫자 타입 그대로는 n에 접근할 방법이 없다. 일단 문자열로 가져온다.
String()으로 감싸기
answer는 숫자고, n[i]는 문자열이어서... 0 + '1' + '2' 이런식으로 더해짐
그래서 Number로 변환 후에 더해줘야함.
Reduce
728x90
반응형