TIL 13일차

김동현·2022년 11월 19일

TIL

목록 보기
12/93

알고리즘 4번(두 정수 사이의 합)

function solution(a,b){
	let answer=0
    if(a<=b){ // b가 a보다 크거나 같을때
    	for(let i=a; i<=b;i++){ // a부터 시작하고 b까지 반복문을만든다
        	answer+=i // 헤당하는 값을 answer에 담는다
        }
    }
    else{
    	for(let i=a; i>=b;i--){ // a부터 b까지 역으로 내려간다 ex) 5,4,3...
        	answer+=i // 해당하는 값을 answer에 담는다!
        }
    }
    return answer
}

알고리즘 5번(문자열을 정수로 바꾸기)

function solution(s){
	return Number(s) // s를 Number함수를 써서 숫자로 바꿈
}

알고리즘 6번(없는 숫자 더하기)

function solution(numbers){
	let answer =0
    for(let i=0; i<10;i++){
    	if(!numbers.includes(i)){ 
        // 0부터 9까지 숫자중 includes() 메소드를 써서 i에 포함되어 있지 않으면 
           answer에 그값을 더하면서 추가한다!
        	answer+= i
        }
    }
}

알고리즘 7번(음양 더하기)

function solution(absolutes,signs){
	let answer=0;
    for(let i=0; i<absolutes.length;i++){
    	if(signs[i]===true){
        	answer+=absolutes[i]
        }
        else{
        	answer-=absolutes[i]
        }
    }
    return answer
}

알고리즘 8번(평균구하기)

function solution(arr){
	let answer = 0
    let sum =0
    for(let i of arr){
    	sum+=i
        answer=sum/arr.length
    }
    return answer
} 

알고리즘 9번(핸드폰 번호 가리기)

function solution(phone_number){
	let answer = phone_number.length-4 
    // answer변수에 phone_number의 길이에 -4를 한값을 담는다
	return '*'repeat(answer) + phone_number.slice(-4)
    // answer길이만큼 *을 반복해서 붙이고
    // phone_number의 뒤에서 4번째를 짤라 붙이면 결과값과 같이 나온다!
}

알고리즘 10번(행렬의 덧셈)

function solution(arr1,arr2){
	let answer=[[]] // 변수 answer에 2중 빈배열을 만든다
    
    for(let i=0; i<arr1.length;i++){ // arr1길이만큼 반복
    	answer[i]=[] // answer[i] 번째 마다 빈배열을 생성
        for(let j=0; j<arr1[i];j++){ // arr[i]길이만큼 반복
        	answer[i].push(arr1[i][j]+arr2[i][j])
            // answer[i]번째에 새로운 배열을 추가해준다
            // arr1[0][0]+arr2[0][0] -> [[4,6],[]] 이렇게 된다
        }
    }
    return answer // answer값을 반환
}
profile
꺽이지 않는 마음

0개의 댓글