# ❓ Test! ### Q1. #### 📌 1부터 100까지 더하는 for문을 만들고 결과를 출력하시오. ![image](https://hackmd.io/_uploads/rkB0sYMop.png) ### A1. ```javascript= let result = ''; // 결과를 저장할 변수 초기화 for (let i = 1; i <= 100; i++) { // 1부터 100까지의 숫자에 대해 반복 for (let j = 1; j <= 100; j++) { // 1부터 100까지의 숫자에 대해 반복 result += '[' + i + ' + ' + j + ' = ' + (i + j) + '] '; // 결과를 result 변수에 추가 }; }; a1.innerHTML = result; // 결과를 HTML의 특정 요소에 출력 ``` ```console= // 콘솔이 덜덜 거리는 관계로 화면 출력 ``` **[replit 확인](https://38b29643-f4c7-4d7d-bd65-d6f0e8dcd2f1-00-mkal0hz7eqxx.pike.repl.co/)** ### Q2. #### 📌 1부터 100까지 홀수만 출력하자. ### A2. ```javascript= let oddNum = ''; // 결과를 저장할 변수 초기화 for (let i = 1; i <= 100; i += 2) { // 1부터 100까지의 숫자에 대해 2씩 증가하면서 반복 i++; // i를 2씩 증가시킴 oddNum += i + ' '; // 결과를 result 변수에 추가 } a2.textContent = oddNum; ``` **[replit 확인](https://38b29643-f4c7-4d7d-bd65-d6f0e8dcd2f1-00-mkal0hz7eqxx.pike.repl.co/)** ### Q3. #### 📌 1부터 50까지 369결과를 프린트하자. ``` 1 2짝 45 짝...생략 28 짝짝 짝짝 짝짝 ``` ### A3. - 누나가 설명해 준 보너스 트랙과 다르다.. - 음.. 음... 으음.. 조금 더 찾아봐야겠다 ```javascript= for (let i = 1; i <= 50; i++) { // 1부터 50까지의 숫자에 대해 반복 let output = ""; // 각 숫자에 대한 결과를 저장할 변수 output (초기화) // 일의 자리가 3,6,9 중 하나인지 나머지 값으로 확인 // ex) i = 11 => 11 / 10 = 나머지 1 if (i % 10 === 3 || i % 10 === 6 || i % 10 === 9) output += '짝'; // 현재 숫자를 10으로 나눈 결과의 정수 부분이 3, 6, 9 중 하나인지 확인 // ex, i = 30 => 30 / 10 = 3 if ((i / 10) === 3 || (i / 10) === 6 || (i / 10) === 9) output += '짝'; // 만약 10의 자리와 1의 자리에 모두 3, 6, 9가 있으면 "짝짝"으로 표현 if ((i % 10 === 3 || i % 10 === 6 || i % 10 === 9) && ((i / 10) === 3 || (i / 10) === 6 || (i / 10) === 9)) { output = '짝짝'; } // if문에서 output에 "짝"이 할당되었는지 i랑 비교 // 만약 output에 "짝"이 할당되었다면 그 값을 num 변수에 저장 // 그렇지 않으면 숫자 i를 num 변수에 저장 let num = output || i; // num 변수의 값을 화면에 출력 a3.textContent += num + ' '; } // for 루프 끝 ``` **[replit 확인](https://38b29643-f4c7-4d7d-bd65-d6f0e8dcd2f1-00-mkal0hz7eqxx.pike.repl.co/)** ### Q4. #### 📌 1부터 100까지 홀수만 출력하자. ![image](https://hackmd.io/_uploads/HyBg3qfs6.png) ### A4. - 처음엔 문제가 소숫점을 찾으라는 말인줄 알았다.. - 문제 그림을 보니 아닌 것 같았다.. - 혹시나 해서 [숫자가 소수이면](https://developer.mozilla.org/ko/docs/Learn/JavaScript/Building_blocks/Test_your_skills:_Loops#%EB%B0%98%EB%B3%B5%EB%AC%B8_3) 이 말을 몇 번을 구글링 해봤는지.. 아무도 모를 것이다.. - 누나랑 좀 다르다.. 재확인해봐야겠다.. ```javascript= // isPrime 함수 정의 function isPrime(number) { // 주어진 숫자가 1보다 작거나 같으면 소수가 아님 if (number <= 1) { return false; } // 2부터 숫자 자신의 제곱까지의 숫자로 나누어보며 나누어떨어지는 수가 있는지 확인 for (let i = 2; i * i <= number; i++) { // 만약 나누어떨어지는 수가 있다면 소수가 아님 if (number % i === 0) { return false; } } // 나누어떨어지는 수가 없으면 소수임 return true; } // 버튼 클릭 이벤트 처리 numBtn.addEventListener('click', function() { // 입력된 숫자 가져오기 const inputNumber = document.getElementById('floatingInput').value; // 입력된 값이 숫자인지 확인 if (!isNaN(inputNumber)) { // isPrime 함수를 사용하여 소수 여부 확인 const result = isPrime(parseInt(inputNumber)); // 소수인지 아닌지에 따라 알림창에 메시지 출력 if (result) { alert(inputNumber + '는 소수입니다.'); } else { alert(inputNumber + '는 소수가 아닙니다.'); } } else { alert('숫자를 입력하세요.'); } }); ``` **[replit 확인](https://38b29643-f4c7-4d7d-bd65-d6f0e8dcd2f1-00-mkal0hz7eqxx.pike.repl.co/)**