3주차 금요일 알고리즘

문혜민·2022년 4월 1일
0

3주차 수업내용

목록 보기
6/6

두 정수 사이의 합

function solution(a,b){
let answer=0
if(a===b){return a
}else{
const min = Math.min(a,b)
const max = a>b?a:b

         for(let i = min; i<=max;i++){
           answer+=i
         }
       }

return answer
}

대소관계를 정해주고 반복문 실행~


function solution(a,b){
if(a===b){return a}
const min = Math.min(a,b)
const max = a>b?a:b

const answer=new Array(max-min).fill(1)
.reduce((acc,cur,i)=>{
console.log(min,cur,i)
const num = (min+cur)+i
return acc+num
},min)

return answer
}


function solution(a,b){
const min = Math.min(a,b)
const max = a>b?a:b

const answer=new Array((max-min)+1).fill(1)
.reduce((acc,cur,i)=>{
console.log(min,cur,i)
const num = min+i
return acc+num
},0)


정수 제곱근 판별

function solution(n){
let answer=-1

for(let i =1; ii <=n;i++){
if(i
i===n){
answer= i+1
return answer*answer
}
}
return answer
}


제곱근연산자
2**6 2의6승

메스
math.pow(2,6) 2의6승

function solution(n){
let answer=1
while(answer**2<n){

answer++
console.log(answer)
}
return answer 2 ===n
?(answer+1)
2
: -1
}

While문 공부해보자!!

메서드 사용하기

제곱근 알아내기 메서드
Math.sqrt(n)

정수판별 메서드
Number.isInteger(n) ===>boolean

function solution(n){
if(Number.isInteger(Math.sqrt(n)))
{ return (Math.sqrt(n))**2 }
else{return -1}
}


function solution(n){
return Number.isInteger(Math.sqrt(n))
?(Math.sqrt(n))**2
: -1
}

profile
프론드엔드 개발하면서 메모장처럼 쓰는즁

0개의 댓글