728x90
반응형
자바스크립트 왕 초보 문제 풀어보기
문제 1
주어진 배열에서 10보다 큰 값을 찾아서 화면에 표시하시오.
주어진 배열 : [1, 3, 5, 7, 9, 11, 13, 15, 17, 19 ]
힌트!
- 배열 요소의 개수만큼 for문을 반복합니다.
- if 문을 사용해서 요소의 값과 10을 비교합니다.
- document.write문을 사용해서 화면에 표시합니다.
const arr = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19];
// 주어진 숫자를 먼저 배열 해준다.
for(let i = 0; i < arr.length; i++) { //for문을 사용하여 초기값 조건, 증가감을 적용
if(arr[i] > 10) {
document.write(arr[i]); //넣은 배열이 거짓일 때는 출력이 되지 않으면 참일 때 출력 된다.
}
}
arr.length는 배열의 전체 갯수를 의미합니다.
데이터가 많아 질 경우 모든 숫자를 작성할 수 없기 때문에 arr.length를 사용합니다.
Point
넣은 배열이 거짓일 때는 출력이 되지 않으면 참일 때 출력 된다.
예) if(arr[i] > 10)
- i 안에 배열 0인 1을 넣었을 때 1 > 10 조건이 성립하지 않으니 flase
- i 안에 배열 1인 3을 넣었을 때 3 > 10 조건이 성립하지 않으니 flase
- i 안에 배열 6인 11을 넣었을 때 11 > 10 조건이 성립하니 true => 출력
- i 안에 배열 7인 13을 넣었을 때 13 > 10 조건이 성립하니 true => 출력
문제 2
사용자에게 1보다 큰 수를 입력하게 한 후 입력한 숫자까지 짝수만 더하는 프로그램을 작성하시오.
힌트!
- 사용자가 입력한 숫자가 null이 아니고 1보다 클 경우에만 실행합니다.
- 입력한 숫자까지 반복하면 현재 숫자가 홀수인지, 짝수인지 구별합니다.(숫자를 2로 나누어 나머지가1이면 홀수, 아니면 짝수 ).
- 홀수이면 화면에 표시하는 명령을 건너뛰고 짝수일 경우에만 현재 값과 더한 값을 표시합니다.
let num = prompt("1보다 큰 숫자를 입력하세요."); //사용자에게 입력하게 하기 위해 prompt창 적용
let sum = 0;
if(num !== null && num > 1){ //입력받은 값이 null이 아니면서 1보다 큰 숫자인지 확인
for(let i=1; i<=num; i++){ //이때, !== 연산자는 값과 타입이 모두 같지 않을 때 참(true)을 반환
if(i % 2 !== 0){
continue;
}
sum += i;
document.write(i + " : " + sum + "<br>");
}
}
입력받은 값이 null이거나 1보다 작은 숫자라면 if문의 조건식이 거짓(false)이 되므로 내부의 문장들을 실행하지 않습니다만약 입력받은 값이 null이 아니면서 1보다 큰 숫자라면 for문을 실행합니다. 이때, 변수 i는 1부터 입력받은 숫자까지 1씩 증가합니다. (i++)
Point
if문의 조건식에서는 i가 홀수일 때 continue문을 실행하여 다음 반복으로 넘어갑니다. 이때, continue문은 현재 반복을 중지하고 다음 반복으로 이동합니다.