자바스크립트 가까운 자연수 찾기 질문
본문
var a=[131,450,-100,150,50,-10,0,40,32,1,4,-4,44,99];
var Mincha=533;
var N=0,Ans=N;
var Cha = 0;
do{
if(a[N]>=33){Cha=a[N]-33;}
else{Cha=33-a[N];}
if(Cha<Mincha){
Mincha=Cha;
Ans=N;
}
N++;
}while(N<14);
document.write(Ans+1);
dowhile 바깥에 전역변수 var Ans=N;이 선언되어있는데
왜 dowhile문 안에서도 한번 더 선언을 해야하는지 잘 이해가 안가는데
왜 그런지 아시는 분 계신가요?
그리고 어떤 원리로 32를 찾아냈는지도 궁금하네요..
답변 1
이건 너무 기초적인 질문이라..^^;;
처음에 N=0 인데 N++로 하나씩 증가 시키는 겁니다.
a 배열이 14자리여서 N<14 까지 동작하구요.
33보다 크면 a[N]에서 33이 빼고
33보다 작으면 33에서 a[N]를 빼서
그 차(Cha)를 구하고
최소차(Mincha)와 비교해서 더 작으면 그 값을 저장 Ans=N
마지막에 출력..
답변을 작성하시기 전에 로그인 해주세요.