배열1_개념01_배열선언과길이.html
<script>
/*
[배열]
기존의 변수는 한 개의 값만 저장할 수 있지만,
배열은 여러 값을 묶음으로 저장할 수 있다.
[배열 선언]
let 변수명 = [값1, 값2, 값3, ...];
위와 같이 선언하면 여러개의 값을 하나의 묶음으로 변수에 저장할 수 있다.
각각의 값을 사용하기 위해서는 방번호(index)를 사용해 접근한다.
방번호(index)는 0부터 1씩 증가한다.
[배열 길이]
변수명.length
배열 안에 저장되어 있는 값의 개수는 length 명령어를 통해 얻을 수 있고,
이를 보통 배열의 길이라고 부른다.
*/
let arr = [10, 20 ,30];
console.log(arr);
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
console.log("배열의 길이 = " + arr.length);
document.write(arr + "<br>");
document.write(arr[0] + "<br>");
document.write(arr[1] + "<br>");
document.write(arr[2] + "<br>");
document.write("배열의 길이 = " + arr.length + "<br>");
for(let a = 0; a <arr.length; a++){
console.log(arr[a]);
document.write(arr[a]+"<br>");
}
</script>
배열1_개념02_배열값변경.html
<script>
/*
[배열의 값 변경]
이미 생성된 배열의 값을
각각의 방번호(index)를 통해 변경할 수 있다.
*/
let arr = [10, 20, 30];
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
document.write("변경전 = ")
document.write(arr[0] + " ");
document.write(arr[1] + " ");
document.write(arr[2] + " ");
arr[1] = 100;
document.write("변경후 = ")
document.write(arr[0] + " ");
document.write(arr[1] + " ");
document.write(arr[2] + " ");
</script>
배열1_개념03_배열추가.html
<script>
/*
빈 배열을 생성하고 인덱스에 차례대로 값을 저장하면,
배열의 크기는 자동으로 늘어난다.
*/
let a = [];
a[0] = 10;
a[1] = 20;
a[2] = 30;
console.log(a);
document.write(a+"<br>");
let b = []
b[5] = 100
console.log(b);
document.write(b+"<br>");
</script>
배열1_개념04_배열비교.html
<script>
/*
[문제]
a 와 b 를 각각 비교해서 더 큰 값을 출력한다.
서로 같으면 둘 다 출력한다.
[정답]
b : 54
a : 43
a : 23
a : 12, b : 12
a : 53
*/
let a = [10, 43, 23, 12, 53];
let b = [54, 6, 4, 12, 50];
for(let count =0; count<5; count++){
if(a[count] == b[count]){
document.write("a : " + a[count] +", b : " + b[count] +"<br>");
} else if (a[count] > b[count]){
document.write("a : " + a[count] + "<br>");
} else {
document.write("b : " + b[count] + "<br>");
}
}
</script>
배열1_개념05_전체합.html
<script>
/*
[문제] 아래 배열의 전체 합을 출력하시오.
[결과] 150
*/
let arr = [10, 20, 30, 40, 50];
let total = 0;
for(let a = 0; a < arr.length; a++){
total += arr[a]
}
document.write(total);
</script>
배열1_개념06_배수.html
<script>
/*
[문제] 아래 배열의 값 중에 4의 배수만 출력하시오.
[정답] 20 40
*/
let arr = [10, 20, 30, 40, 50];
for(let a = 0; a < arr.length; a++){
if(arr[a] % 4 == 0){
document.write(arr[a] + " ");
}
}
</script>
배열1_개념07_백의자리.html
<script>
/*
[문제]
a배열에서 백의 자리가 2인 수만 출력하시오.
[정답]
1210
1212
*/
let a = [1210, 1343, 1524, 1212, 7452];
for(let x = 0; x <= a.length; x++){
if(parseInt(a[x] % 1000 / 100) == 2 ){
document.write(a[x]+ " ");
}
}
</script>
배열1_개념08_십의자리.html
<script>
/*
[문제]
a배열에서 십의 자리가 2인 수만 출력하시오.
[정답]
423
124
23
122
*/
let a = [510, 423, 124, 512, 252, 23, 312, 453, 122];
for(let b=0; b <a.length; b++){
if(parseInt(a[b] % 100 / 10) == 2){
document.write(a[b] + "<br>");
}
}
</script>
배열1_문제01_배열비교.html
<script>
/*
[문제]
a 와 b 를 각각 비교해서 더 큰 값을 출력한다.
서로 같으면 둘 다 출력한다.
[정답]
54
43
23
12 12
53
*/
let a = [10, 43, 23, 12, 53];
let b = [54, 6, 4, 12, 50];
for(let i = 0 ; i < a.length; i++){
for(let j = i; j< i+1; j++){
if(a[i] > b[j]){
document.write(a[i]);
}
else if(a[i] < b[j]){
document.write(b[j]);
} else {
document.write(a[i] + " " + b[j]);
}
}
document.write("<br>")
}
</script>
배열1_문제02_배열합.html
<script>
/*
[문제]
a 와 b 의 각 자리의 합을 total에 저장하시오.
[정답]
[64, 49, 27, 24, 103]
*/
let a = [10, 43, 23, 12, 53];
let b = [54, 6, 4, 12, 50];
let total = [0, 0, 0, 0, 0];
for(let i = 0; i < a.length ; i++){
total[i] = a[i] + b[i];
}
document.write(total)
</script>
배열1_문제03_배수.html
<script>
/*
[문제]
a배열에서 3의 배수만 출력하시오.
[정답]
24
12
*/
let a = [10, 43, 24, 12, 52];
for(let i = 0; i < a.length; i++){
if(a[i] % 3 == 0){
document.write(a[i] + " ")
}
}
</script>
배열1_문제04_백의자리.html
<script>
/*
[문제]
a배열에서 백의자리가 2인 수만 출력하시오.
[정답]
1210
1212
*/
let a = [1210, 1343, 1524, 1212, 7452];
for(let i = 0; i < a.length; i++){
let 백의자리 = parseInt(a[i] % 1000 / 100);
if(백의자리 == 2){
document.write(a[i] + " ");
}
}
</script>
배열1_문제05_십의자리1.html
<script>
/*
[문제]
a배열에서 십의 자리가 2인 수만 출력하시오.
[정답]
423
124
23
122
*/
let a = [510, 423, 124, 512, 252, 23, 312, 453, 122];
for(let i = 0; i < a.length; i++){
let 십의자리 = parseInt(a[i] % 100 / 10);
if(십의자리 == 2){
document.write(a[i] + " ");
}
}
</script>
배열1_문제06_십의자리2.html
<script>
/*
[문제]
a배열에서 십의 자리가 2이거나 백의 자리가 5인 수만 출력하시오.
[정답]
510
423
124
512
23
122
*/
let a = [510, 423, 124, 512, 252, 23, 312, 453, 122];
for(let i = 0 ; i < a.length; i++){
let 십의자리 = parseInt(a[i] % 100 / 10);
let 백의자리 = parseInt(a[i] % 1000/ 100);
if(십의자리 == 2 || 백의자리 == 5){
document.write(a[i] + "<br>")
}
}
</script>
배열1_문제07_십의자리3.html
<script>
/*
[문제]
a배열에서 십의 자리가 1이고, 백의 자리가 5인 수만 출력하시오.
[정답]
510
512
*/
let a = [510, 423, 124, 512, 252, 23, 312, 453, 122];
for(let i = 0; i < a.length; i++){
let 십의자리 = parseInt(a[i] % 100 / 10);
let 백의자리 = parseInt(a[i] % 1000 / 100);
if(십의자리 == 1 && 백의자리 == 5){
document.write(a[i] + "<br>")
}
}
</script>
배열1_문제08_일의자리.html
<script>
/*
[문제]
a배열에서 일의자리가 2인 수만 출력하시오.
[정답]
12
52
*/
let a = [10, 43, 24, 12, 52];
for(let i = 0; i < a.length ; i++){
let 일의자리 = a[i] % 10;
if(일의자리 == 2){
document.write(a[i] + "<br>");
}
}
</script>
배열2_개념01_배열추가.html
<script>
/*
[개념]
배열 값 추가하는 두 가지 방법
(1) 인덱스로 접근해 추가
(2) push 함수를 이용해 추가
1) 사용법 : push(추가할값)
2) 배열의 맨 뒤에 값 추가
*/
let arr = [];
// 10 추가하기
arr[0] = 10;
document.write(arr + "<br>");
// 20 추가하기
arr.push(20);
document.write(arr + "<br>");
arr.push(30);
document.write(arr + "<br>");
</script>
배열2_개념02_배열랜덤.html
<script>
/*
[문제]
a배열과 b배열에 랜덤 숫자(1~10)을 다섯 개씩 저장하고,
둘 다 출력하시오.
[예시]
a = 1,9,7,8,1
b = 1,5,8,4,1
*/
let a = []
let b = []
for(let c = 0; c < 5; c++){
a[c]= Math.floor(Math.random() * 10 +1);
b[c]= Math.floor(Math.random() * 10 +1);
}
document.write("a = " + a + "<br>b = " + b)
</script>
배열2_개념03_배열비교.html
<script>
/*
[문제]
a배열과 b배열에 랜덤 숫자(1~10)을 다섯 개씩 저장하고,
a와 b의 값을 각각 비교해서 더 큰 값을 출력하시오.
단, 서로 같으면 둘 다 출력하시오.
[예시]
a = 1,1,9,2,5
b = 2,7,5,2,5
b : 2
b : 7
a : 9
a : 2, b : 2
a : 5, b : 5
*/
let a = [];
let b = [];
for(let c = 0; c < 5; c++){
a[c] = Math.floor(Math.random() * 10 + 1);
b[c] = Math.floor(Math.random() * 10 + 1);
if(a[c] == b[c]){
document.write(" a : " + a[c] + " b : " + b[c] +"<br>");
} else if (a[c] > b[c]){
document.write("a : " + a[c]+"<br>") ;
} else {
document.write("b : " + b[c]+"<br>");
}
}
document.write("a = " + a +"<br>b = " + b);
</script>
배열2_개념04_배열합.html
<script>
/*
[문제]
랜덤숫자(1~10)을 각각 다섯개씩
a배열과 b배열에 저장한 후,
a배열과 b배열의 각 자리의 합을 total배열에 추가하시오.
[예시]
a = 6,10, 9,1,2
b = 9,10, 6,5,3
total = 15,20,15,6,5
*/
let a = [];
let b = [];
let total = [];
for(let c = 0; c < 5; c++){
a[c] = Math.floor(Math.random() * 10 + 1);
b[c] = Math.floor(Math.random() * 10 + 1);
total[c] = a[c] + b[c];
}
document.write("a = " + a + "<br>b = " + b + "<br>total = " + total);
</script>
배열2_문제01.html
<script>
/*
[문제]
랜덤 숫자(1~5)를 한 개 저장한다.
랜덤 숫자만큼 반복문을 돌리고,
저장한 랜덤 숫자를 계속 저장한다.
[예시]
r = 5
arr = 5,5,5,5,5
*/
let r = Math.floor(Math.random() * 5) + 1;
let arr = [];
document.write("랜덤숫자 = " + r + "<br>");
for(let i = 0 ; i < r; i++){
arr.push(r);
}
document.write(arr + "<br>")
</script>
배열2_문제02_비교.html
<script>
/*
[문제]
[조건1] arr배열에 랜덤 숫자(1~100) 5개를 추가한다.
[조건2] 위 값 중에 50보다 큰 값들만 출력한다.
[예시]
arr = 6,78,56,73,1
78
56
73
*/
let arr = [];
for(let i = 0; i < 5; i++){
arr.push(Math.floor(Math.random() * 100 ) + 1)
}
document.write("arr = " + arr + "<br>");
for(let i = 0; i < 5; i++){
if(arr[i] > 50){
document.write(arr[i] + "<br>");
}
}
</script>
배열2_문제03_두배복사.html
<script>
/*
[문제]
랜덤 숫자(1~10) 다섯 개를 arr배열에 추가하고
그 두 배의 값을 total배열에 각각 저장 후 출력하시오.
[예시]
arr = 9, 6, 7,1, 6
total = 18,12,14,2,12
*/
let arr = [];
let total = [];
for(let i = 0; i < 5; i++){
arr.push(Math.floor(Math.random() * 10 ) + 1);
total.push(arr[i] * 2);
}
document.write("arr = " + arr + "<br>total = " + total + "<br>");
</script>
배열2_문제04_비교_배수.html
<script>
/*
[문제]
[조건1] arr배열에 랜덤 숫자(1~100) 다섯 개를 추가한다.
[조건2] 위 값 중에 5의 배수들만 출력하시오.
[예시]
arr = 70,34,58,10,74
70
10
*/
let arr = [];
for(let i = 0 ; i < 5; i++){
arr.push(Math.floor(Math.random() * 100) + 1);
if(arr[i] % 5 == 0){
document.write(arr[i] + "<br>");
}
}
document.write("arr = " + arr + "<br>");
</script>
배열2_문제05_비교_and.html
<script>
/*
[문제]
[조건1] arr배열에 랜덤 숫자(1~100) 20개를 추가한다.
[조건2] 위 값 중 50보다 크면서 7의 배수만 출력하시오.
[예시]
arr = 11,12,55,34,74,68,20,92,57,12,70,84,41,42,91,64,42,92,41,90
70
84
91
*/
let arr = [];
for(let a = 0; a < 20; a++){
let num = Math.floor(Math.random() * 100 + 1);
arr[a] = num;
if(arr[a] > 50 && arr[a] % 7 == 0){
document.write(arr[a] + " ");
}
}
document.write("<br>" + arr);
</script>
배열2_문제06_비교_or.html
<script>
/*
[문제]
[조건1] arr배열에 랜덤 숫자(1~100) 20개를 추가한다.
[조건2] 위 값 중 30보다 작거나 70보다 크면서 4의 배수만 출력하시오.
[예시]
arr = 43,43,25,3,49,85,78,75,54,10,42,75,96,58,31,24,1,86,44,16
25
3
10
96
24
1
16
*/
let arr = [];
for(let a = 0; a < 20; a++){
let num = Math.floor(Math.random() * 100 + 1);
arr[a] = num;
if(arr[a] < 30 || (arr[a] > 70 && arr[a] % 4 == 0)){
document.write(arr[a] + "<br>");
}
}
document.write("<br>" + arr);
</script>
배열2_문제07_랜덤비교.html
<script>
/*
[문제]
[조건1] a배열과 b배열 두 개에 1~100 사이의 랜덤 값 다섯 개를 저장한다.
[조건2] base 변수에 랜덤으로 1~100 사이의 숫자를 저장한다.
base 변수 값보다 큰 값들을 전부 출력하시오.
[예시]
a = 73,35,40,14,17
b = 87,61,18,16,69
base = 36
a : 73
b : 87
b : 61
a : 40
b : 69
*/
let a = [];
let b = [];
let base = 0;
for(let c = 0; c < 5; c++){
a.push(Math.floor(Math.random() * 100 + 1));
b.push(Math.floor(Math.random() * 100 + 1));
}
document.write("a = " + a +"<br>b = " + b + "<br>");
base = (Math.floor(Math.random() * 100 + 1));
document.write("base = " + base + "<br>");
for(let c = 0; c < 5; c++){
if(a[c] > base){
document.write("a : " + a[c] +"<br>")
}
if(b[c] > base){
document.write("b : " + b[c] + "<br>")
}
}
</script>
배열2_문제08_배열두개비교.html
<script>
/*
[문제]
[조건1] a배열과 b배열 두 개에 1~100 사이의
랜덤 값 다섯 개를 저장한다.
[조건2] 둘 다 짝수이면 "짝수" 출력,
둘 다 홀수이면 "홀수" 출력,
한쪽은 홀수이고 다른 한쪽은 짝수이면
"다르다"를 출력하시오.
[예시]
a = 15,7,98,24,54
b = 9,50,16,12,81
홀수
다르다
짝수
짝수
다르다
*/
let a = [];
let b = [];
for(let c = 0; c < 5; c ++){
a.push(Math.floor(Math.random() * 100 + 1));
b.push(Math.floor(Math.random() * 100 + 1));
}
document.write("a = " + a + "<br>b = " + b + "<br>");
for(let c = 0; c < 5; c++){
if(a[c] % 2 == 0 && b[c] % 2 == 0){
document.write("짝수<br>");
} else if (a[c] % 2 != 0 && b[c] % 2 != 0){
document.write("홀수<br>")
}else{
document.write("다르다<br>");
}
}
</script>
배열2_문제09_크기비교추가.html
<script>
/*
[문제]
두 개의 배열 a와 b에 숫자를 랜덤(1~9 사이의 숫자)으로 5개씩 저장한다.
두 배열 중 a값이 더 크면 arr1 배열에 저장한다.
b의 값이 더 크면 arr2 배열에 저장한다.
앞에서부터 순차적으로 저장하며,
만약에 값이 같으면 둘 다 저장한다.
총 다섯 번을 반복하고 배열을 출력하시오.
[예시]
a = 8,5,6,1,4
b = 2,1,7,6,5
arr1 = 8,5
arr2 = 7,6,5
*/
/*
let a = [];
let b = [];
let arr1 = [];
let arr2 = [];
for(let c = 0; c < 5; c++){
a.push(Math.floor(Math.random() * 9 + 1));
b.push(Math.floor(Math.random() * 9 + 1));
if(a[c] == b[c]){
arr1[c] = a[c];
arr2[c] = b[c];
} else if (a[c] > b[c]){
arr1[c] = a[c];
} else {
arr2[c] = b[c];
}
}
document.write("a = " + a + "<br>b = " + b + "<br>arr1 = " + arr1 + "<br>arr2 = " + arr2 );
*/
let a = [];
let b = [];
let arr1 = [];
let arr2 = [];
for(let i=0; i<5; i++) {
a.push(Math.floor(Math.random() * 9) + 1);
b.push(Math.floor(Math.random() * 9) + 1);
}
document.write("a = " + a + "<br>");
document.write("b = " + b + "<br>");
for(let i=0; i<5; i++) {
if(a[i] > b[i]) {
arr1.push(a[i]);
} else if(a[i] < b[i]) {
arr2.push(b[i]);
} else if(a[i] == b[i]) {
arr1.push(a[i]);
arr2.push(b[i]);
}
}
document.write("arr1 = " + arr1 + "<br>");
document.write("arr2 = " + arr2 + "<br>");
</script>
배열3_개념01_누적합.html
<script>
/*
[문제]
[조건1] arr배열에 랜덤숫자(1~10) 5개를 추가하고,
[조건2] 위 조건의 누적합을 출력하시오.
[예시]
arr = 6,7,10,7,9
total = 39
*/
let a = [];
let total = 0;
for(let b = 0; b < 5; b++){
a.push(Math.floor(Math.random() * 10 + 1));
total += a[b]
}
document.write("a = " + a +"<br>total = " + total);
</script>
배열3_개념02_개수.html
<script>
/*
[문제]
[조건1] arr배열에 랜덤숫자(1~10) 다섯 개를 추가한 후,
5보다 큰수만 출력하시오.
[조건2] 위 조건의 개수도 함께 출력하시오.
[예시]
arr = 3,5,8,4,9
8 9
개수 = 2
*/
let arr = [];
let count = 0;
for(let a = 0; a < 5; a++){
arr.push(Math.floor(Math.random() * 10 + 1));
}
document.write("arr = " + arr + "<br>");
for(let a = 0; a < 5; a++){
if(arr[a] > 5 ){
count += 1;
document.write(arr[a] + " ");
}
}
</script>
배열3_개념03_학생관리.html
<script>
/*
[문제]
numbers배열은 학생 다섯 명의 번호이다.
scores배열은 위 학생들의 수학 점수이다.
60점 이상은 합격이다.
[조건1] 합격생들의 번호와 점수 출력하시오.
[조건2] 전체 학생들의 점수와 평균을 출력하시오.
[조건3] 합격생들이 몇 명인지를 출력하시오.
[정답]
합격생 >>>
1003번 = 65점
1004번 = 90점
1005번 = 89점
합격생 수 = 3명
총점 = 286점, 평균 = 57.2점
*/
let numbers = [];
let scores = [];
let count = 0;
let total = 0;
for(let a = 0; a < 5; a++){
numbers.push(a + 1);
scores.push(Math.floor(Math.random() * 101));
total += scores[a];
if(scores[a] >= 60){
count += 1;
document.write(numbers[a] + "번 = " + scores[a] + "<br>");
}
}
document.write("합격생 수 = " + count + "<br>")
document.write("총점 = " + total + " 평균 = " + total / 5);
</script>
배열3_개념04_배수찾기.html
<script>
/*
[문제]
랜덤 숫자 100~200을 arr배열에 다섯 개 저장하고,
다섯 개 숫자 중에 3의 배수들을 출력하시오.
3의 배수들의 개수와
3의 배수들의 누적 합도 출력하시오.
[예시]
arr = 172,148,136,192,108
192 108
3의 배수의 개수 = 2
3의 배수의 합 = 300
*/
let arr = [];
let count = 0;
let total = 0;
for(let a = 0; a < 5; a++){
arr.push(Math.floor(Math.random() * 101 + 100));
}
document.write("arr = " + arr + "<br>");
for(let a = 0; a < 5; a++){
if(arr[a] % 3 == 0){
count += 1;
total += arr[a];
document.write(arr[a] +"<br>");
}
}
document.write("3의 배수의 개수 = " + count + "<br>3의 배수의 합 = " + total);
</script>
배열3_개념05_약수찾기.html
<script>
/*
[문제]
랜덤숫자 1~10을 arr배열에 다섯 개 저장한다.
다섯 개 숫자 중에 40의 약수들을 출력하시오.
40의 약수들의 개수와
40의 약수들의 누적 합도 함께 출력하시오.
[예시]
arr = 6,9,1,4,9
1 4
40의 약수의 개수 = 2
40의 약수의 합 = 5
*/
let arr = [];
let count = 0;
let total = 0;
for(let a = 0; a < 5; a++){
arr.push(Math.floor(Math.random() * 10 + 1));
} document.write("arr = " + arr + "<br>");
for(let a = 0; a < 5; a++){
if(40 % arr[a] == 0){
count += 1;
total += arr[a];
document.write(arr[a] + "<br>");
}
}
document.write("40의 약수의 개수 = " + count + "<br>40의 약수의 합 = " + total);
</script>
배열3_개념06_구구단게임.html
<script>
/*
[문제]
배열 a와 b의 각 자리의 곱을 total의 각 자리에 저장 후 출력하시오.
단, op 의 값이 0이면 양수로 저장하고,
1이면 음수로 저장하시오.
[정답]
a = 3 , b = 5 , op = 0 이므로 양수로 저장 total = 15
a = 4 , b = 3 , op = 1 이므로 음수로 저장 total = 15, -12
a = 2 , b = 1 , op = 0 이므로 양수로 저장 total = 15, -12, 2
a = 8 , b = 7 , op = 0 이므로 양수로 저장 total = 15, -12, 2, 56
a = 8 , b = 7 , op = 1 이므로 음수로 저장 total = 15, -12, 2, 56, -18
*/
let a = [3, 4, 2, 8, 6];
let b = [5, 3, 1, 7, 3];
let op = [0, 1, 0, 0, 1];
let total = [];
for(let c = 0; c < 5; c++){
document.write("a = " + a[c] + ", b = " + b[c] + ", op = " + op[c] + "이므로 ");
if(op[c] == 0){
total.push(a[c]+ b[c]);
document.write("양수로 저장 ");
} else {
total.push((a[c] + b[c]) * -1);
document.write("음수로 저장 ");
}
document.write("total = " + total + "<br>");
}
</script>
배열3_문제01_비교.html
<script>
/*
[문제]
[조건1] 배열 arr에 랜덤숫자(1~100) 5개를 추가한다.
[조건2] 배열의 숫자 중 50보다 큰 값들만 출력하시오.
[조건3] 위 조건의 값들의 누적된 합을 출력하시오.
[조건4] 위 조건의 개수를 출력하시오.
[예시]
arr = 2,95,85,24,7
출력 = 95 85
합 = 180
개수 = 2
*/
let arr = [];
let count = 0;
let total = 0;
for( let a = 0; a < 5; a++){
arr.push(Math.floor(Math.random() * 100 + 1));
} document.write("arr = " + arr + "<br>출력 = ");
for( let a = 0; a < 5; a++){
if(arr[a] > 50){
count += 1;
total += arr[a];
document.write(arr[a] + " " );
}
}
document.write("<br>합 = " + total +"<br>개수 = " + count);
</script>
배열3_문제02_배수_누적개수.html
<script>
/*
[문제]
[조건1] 배열에 랜덤숫자(1~100) 5개를 추가하고,
[조건2] 짝수만 출력하시오.
[조건3] 짝수의 누적 합을 저장 후 출력하시오.
[조건4] 짝수의 개수를 출력하시오.
[예시]
arr = 88,71,48,13,27
출력 = 88 48
합 = 136
개수 = 2
*/
let arr = [];
let count = 0;
let total = 0;
for(let a = 0; a < 5; a++){
arr.push(Math.floor(Math.random() * 100 + 1));
} document.write("arr = " + arr + "<br>출력 =");
for(let a = 0; a < 5; a++){
if(arr[a] % 2 == 0){
count += 1;
total += arr[a];
document.write(arr[a] + " ")
}
} document.write("<br>합 = " + total + "<br>개수 = " + count);
</script>
배열3_문제03_omr카드.html
<script>
/*
[문제]
배열 omr의 값들은 이번 시험 정답이다.
배열 myAnswer는 철수의 답안지이다.
랜덤숫자(1~5) 열 개를 myAnswer에 추가 후,
정답과 비교해서 철수의 점수를 출력하시오.
한 문제당 10점이다.
[예시]
omr = 4, 3, 1, 5, 3, 2, 1, 4, 5, 3
myAnswer = 5, 2, 5, 5, 2, 1, 4, 4, 4, 1
score = 20점
*/
let omr = [4, 3, 1, 5, 3, 2, 1, 4, 5, 3];
let myAnswer = [];
let count = 0;
document.write("omr = " + omr + "<br>");
for(let a = 0; a < omr.length; a++ ){
myAnswer.push(Math.floor(Math.random() * 5 + 1 ));
} document.write("myAnswer = " + myAnswer + "<br>");
for(let a = 0; a < omr.length; a++ ){
if(myAnswer[a] == omr[a]){
count += 1;
}
}
let score = 10 * count;
document.write("score = " + score);
</script>
배열3_문제04_배열두개_누적.html
<script>
/*
[문제]
배열 a와 b에 랜덤 숫자(1~100)를 다섯 개씩 저장하고,
배열 a의 전체 합과 배열 b의 전체 합 중 더 큰 값을 출력하시오.
단, 서로 같으면 둘 다 출력하시오.
[예시]
a = 93, 100, 41, 74, 45
b = 84, 80, 25, 19, 27
totalA = 353
totalB = 235
353
*/
let a = [];
let b = [];
let totalA = 0;
let totalB = 0;
for(let c = 0; c < 5; c++){
a.push(Math.floor(Math.random() * 100 + 1));
b.push(Math.floor(Math.random() * 100 + 1));
} document.write("a = " + a +"<br>b = " + b +"<br>");
for(let c = 0; c < 5; c++){
totalA += a[c];
totalB += b[c];
} document.write("totalA = " + totalA + "<br>tatalB = " + totalB + "<br>");
if(totalA == totalB){
document.write("같다 : " + totalA);
} else if (totalA > totalB){
document.write("a의 전체 합이 더 크다 : " + totalA );
} else {
document.write("b의 전체 합이 더 크다 : " + totalB );
}
</script>
배열3_문제05_배열두개_홀수.html
<script>
/*
[문제]
배열 a와 배열 b에 랜덤 숫자(1~100)를 다섯 개씩 저장하고,
배열 a의 홀수 합과 배열 b의 홀수 합을 비교해서 더 큰 값을 출력하시오.
단, 서로 같으면 둘 다 출력하시오.
[예시]
a = 28, 79, 47, 70, 36
b = 63, 4, 45, 54, 87
totalA = 126
totalB = 195
195
*/
let a = [];
let b = [];
let totalA = 0;
let totalB = 0;
for(let c = 0; c < 5; c++){
a.push(Math.floor(Math.random() * 100 + 1));
b.push(Math.floor(Math.random() * 100 + 1));
if(a[c] % 2 == 1){
totalA += a[c];
} else {
totalB += b[c];
}
} document.write("a = " + a + "<br>b = " + b + "<br>totalA = " + totalA + "<br>totalB = " + totalB + "<br>");
if(totalA == totalB){
document.write("서로같다 :" + totalA);
} else if(totalA > totalB){
document.write("a의 홀수 합이 더 크다 : " + totalA);
} else {
document.write("b의 홀수 합이 더 크다 : " + totalB);
}
</script>
배열3_문제06_연산자게임.html
<script>
/*
[문제]
배열 a와 b의 각 자리의 숫자끼리 더하기 또는 빼기 또는 곱하기를 해서
배열 total에 저장하려 한다.
더하기, 빼기, 또는 곱하기는 op의 값으로 정한다.
op가 0 이면 더하기
op가 1 이면 빼기
op가 2 이면 곱하기이다.
[정답]
a = 3 , b = 5 , op = 0 은 더하기 이다 : total = 8
a = 4 , b = 3 , op = 1 은 빼기 이다 : total = 8, 1
a = 2 , b = 1 , op = 0 은 더하기 이다 : total = 8, 1, 3
a = 8 , b = 7 , op = 2 는 곱하기 이다 : total = 8, 1, 3, 56
a = 6 , b = 3 , op = 1 은 빼기 이다 : total = 8, 1, 3, 56, 3
total = 8, 1, 3, 56, 3
*/
let a = [3, 4, 2, 8, 6];
let b = [5, 3, 1, 7, 3];
let op = [0, 1, 0, 2, 1];
let total = [];
for(let c = 0; c < op.length; c++){
document.write("a = " + a[c] + ", b = " + b[c] + ", op = " + op[c] + " 은 ")
if(op[c] == 0){
total.push(a[c] + b[c]);
document.write("더하기 이다 : ");
} else if (op[c] == 1){
total.push(a[c] - b[c]);
document.write("뺴기 이다 : ");
} else {
total.push(a[c] * b[c]);
document.write("곱하기 이다 : ");
}
document.write("total = " + total + "<br>");
}
</script>
배열3_문제07_택시게임.html
<script>
/*
[문제]
현재 택시는 5, 5 위치에 있다. (y = 5 , x = 5)
dir배열은 뱡향을 뜻하고 [0, 1, 2 ,3]은 [북, 동, 남, 서]를 뜻한다.
speed배열은 속도를 뜻한다.
dir과 speed배열은 택시가 매번이동한 내용을 기록한 것이다.
dir과 speed를 다 적용하면 y와 x는 어디에 와있는지 출력하시오.
[정답]
dir = 3, speed = 4 : 서쪽으로 4칸이므로 x에서 4를 뺀다.
dir = 2, speed = 3 : 남쪽으로 3칸이므로 y에서 3을 뺸다.
dir = 1, speed = 1 : 동쪽으로 1칸이므로 x에서 1을 더한다.
dir = 0, speed = 2 : 북쪽으로 2칸이므로 y에서 2를 더한다.
dir = 1, speed = 3 : 동쪽으로 3칸이므로 x에서 3을 더한다.
y = 4
x = 5
*/
let y = 5;
let x = 5;
let dir = [3, 2, 1, 0, 1];
let speed = [4, 3, 1, 2, 3];
for(let a = 0; a < dir.length; a++){
document.write("dir = " + dir[a] + " speed = " + speed[a] + " : " );
if(dir[a] == 0){
y + speed[a];
document.write("북쪽으로 " + speed[a] + "칸이므로 y에서 " + speed[a] + " 를 더한다.<br>");
} else if(dir[a] == 1){
x + speed[a];
document.write("동쪽으로 " + speed[a] + "칸이므로 x에서 " + speed[a] + " 를 더한다.<br>");
} else if(dir[a] == 2){
y - speed[a];
document.write("남쪽으로 " + speed[a] + "칸이므로 y에서 " + speed[a] + " 를 뺀다.<br>");
} else if(dir[a] == 3){
x - speed[a];
document.write("서쪽으로 " + speed[a] + "칸이므로 x에서 " + speed[a] + " 를 뺸다.<br>");
}
}
document.write("y = " + y + "<br>x = " + x);
</script>
배열3_문제08_가위바위보게임.html
<script>
/*
[문제]
철수와 민수는 가위바위보를 6회 하였다.
가위(0), 바위(1), 보(2)를 뜻한다.
아래 배열은 각각 가위바위보를 낸 기록을 저장한 것이다.
철수와 민수는 계단 50번째부터 게임을 시작하였다.
민수는 게임을 모두 끝마치고 어디 있는지 구하시오.
[규칙]
이기면 5칸 올라간다.
비기면 1칸 올라간다.
지면 3칸 내려간다.
[정답]
48
*/
let 철수 = [0,1,2,2,1,0];
let 민수 = [2,1,1,2,0,1];
let 철수_위치 = 50;
let 민수_위치 = 50;
for(let a = 0; a < 철수.length; a++){
if(철수[a] == 민수[a]){
document.write("비겼다!!<br>");
철수_위치 += 1;
민수_위치 += 1;
}
if(철수[a] == 0 && 민수[a] == 2){
document.write("철수가 이겼다!<br>");
철수_위치 += 5;
민수_위치 -= 3;
}
if(철수[a] == 1 && 민수[a] == 0){
document.write("철수가 이겼다!<br>");
철수_위치 += 5;
민수_위치 -= 3;
}
if(철수[a] == 2 && 민수[a] == 1){
document.write("철수가 이겼다!<br>");
철수_위치 += 5;
민수_위치 -= 3;
} else {
document.write("민수가 이겼다!<br>");
철수_위치 -= 3;
민수_위치 += 5;
}
}
document.write("민수 위치 = " + 민수_위치);
</script>
배열3_문제09_369게임.html
<script>
/*
[문제]
[1] 1~50까지 반복한다.
[2] 3이나 6이나 9가 없는 수 중 짝수만 arr배열에 추가하시오.
[정답]
arr = 2, 4, 8, 10, 12, 14, 18, 20, 22, 24, 28, 40, 42, 44, 48, 50
*/
let arr = [];
let x = 0;
for(let a = 1; a <= 50; a++){
let 십의자리 = parseInt(a / 10);
let 일의자리 = a % 10;
if(a % 2 == 0 ){
if(십의자리 != 3 && 십의자리 != 6 && 십의자리 != 9 && 일의자리 != 3 && 일의자리 != 6 && 일의자리 != 9)
arr.push(a);
}
}
document.write("arr = " + arr);
</script>
배열3_문제10_사탕나눠주기.html
<script>
/*
[문제]
아래 배열 candy는 각 병에 들어있는 사탕의 양이다.
한 사람당 한 병에서 25개씩 나눠주려 한다.
나눠줄 수 있는 사람 수를 count배열에 저장하시오.
나눠주고 남은 사탕은 remainder배열에 순차적으로 저장하시오.
[정답]
candy = 80, 53, 36, 22
count = 3, 2, 1, 0
remainder = 5, 3, 11, 22
*/
let candy = [80, 53, 36, 22];
let count = [];
let remainder = [];
for(let a = 0; a < candy.length; a += 1){
let x = parseInt(candy[a] / 25);
let y = candy[a] % 25;
count.push(x);
remainder.push(y);
}
document.write("count = " + count + "<br>remainder = " + remainder)
</script>
배열3_문제11_처음사탕수.html
<script>
/*
[문제]
사탕 나눠주기 행사하고 있다.
병은 총 4병이고, 각 사탕의 개수는 각기 다르다.
사탕은 한 사람당 25개씩 나눠주고 있다.
count 배열은 오늘 사탕을 나눠준 사람 수다.
remainder 배열은 사탕을 나눠주고 난 나머지이다.
오늘 처음 가져온 사탕 수를 구하시오.
[정답]
candy = [80, 53, 36, 22]
(1) count는 3으로 25를 곱하면 75 이고 나머지는 5이므로 원래는 80개이다.
candy = [80]
(2) count는 2로 25를 곱하면 50 이고 나머지는 3이므로 원래는 53개이다.
candy = [80, 53]
(3) count는 1로 25를 곱하면 25 이고 나머지는 11 이므로 원래는 36개이다.
candy = [80, 53, 36]
(4) count는 0으로 25를 곱하면 0 이고 나머지는 22이므로 원래는 22개이다.
candy = [80, 53, 36, 22]
*/
let count = [3, 2, 1, 0];
let remainder = [5, 3, 11, 22];
let candy = [];
for(let a = 0; a < count.length; a++){
candy.push(count[a] * 25 + remainder[a])
}
document.write(candy);
</script>