2026, 새로운 도약을 시작합니다.

자바스크립트 가까운 자연수 찾기 질문 채택완료

7년 전 조회 2,371

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개

채택된 답변
+20 포인트

이건 너무 기초적인 질문이라..^^;; 

처음에 N=0 인데 N++로 하나씩 증가 시키는 겁니다.

a 배열이 14자리여서 N<14 까지 동작하구요.

33보다 크면 a[N]에서 33이 빼고 

33보다 작으면 33에서 a[N]를 빼서 

그 차(Cha)를 구하고

최소차(Mincha)와 비교해서 더 작으면 그 값을 저장 Ans=N

마지막에 출력..

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다 채택과 인사가 늦어 죄송합니다^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고