JS. 연습문제풀이

Dana·2021년 12월 5일
0

JavaScript

목록 보기
3/5
post-thumbnail

1. 연습문제

다음 값의 평균을 구하세요.

[10, 20, 30, 10, 20, 30, 40, 10]
var value = [10, 20, 30, 10, 20, 30, 40, 10];
let total = 0;
for(let i = 0; i<value.length; i++){
    total += value[i];
}
// value.length : 8
console.log(total/value.length);
// 답: 21.25

2. 연습문제

이진수 변환

function abc(숫자){
    if (숫자 == 1 || 숫자 == 0){
        return String(숫자)
    }
    return abc(Math.floor(숫자 / 2)) + String(숫자%2)
}
console.log(abc(15));
//답 : 1111
//해설
abc(15) 111 + String(1)
abc(7) 11 + String(1)
abc(3) 1 + String(1)
abc(1) 1
  • Math.cril() : 소수점 올림
  • Math.floor() : 소수점 버림
  • Math.round() : 소수점 반올림

3. 연습문제

abcdefg 문자열 뒤집기

function reverse(a)){
    if(a.length == 1){
        return a
    }
    console.log(a.slice(0, a.length-1));
    return  a[a.length-1] + reverse(a.slice(0, a.length-1))
}
console.log(reverse('abcdefg')); 
//답 : gfedcba
//해설
reverse('abcdefg') 'g'+ reverse(abcdef) -> gfedcba
reverse('abcdefg') 'f'+ reverse(abcde) -> fedcba
reverse('abcdefg') 'e'+ reverse(abcd) -> edcba
reverse('abcdefg') 'd'+ reverse(abc) -> dcba
reverse('abcdefg') 'c'+ reverse(ab) -> cba
reverse('abcdefg') 'b'+ reverse(a) -> bl
reverse('abcdefg') 'a'
  • index = 0부터 시작, length = 1부터 시작

한 문제 이해하는것도 굉장히 오래걸렸다..
앞으로는 조금 더 빨라지겠지..?

profile
웹개발

1개의 댓글

comment-user-thumbnail
2021년 12월 8일

알고리즘을 열심히 풀고계시네요. 저도 분발해야겠어요

답글 달기