반응형
반복문 연습문제
1. 아래와 같이 출력하시오
12345
23456
34567
45678
56789
[풀이]
for (let i=1; i<=5; i++) {
for (let j=i; j<=i+4; j++) {
document.write(j)
}
document.write("<br>")
}
2. 아래 그림과 같이 출력하시오
@★★★
★@★★
★★@★
★★★@
[풀이]
for (let i=1; i<=4; i++) {
for (let j=1; j<=4; j++) {
if (i===j) {
document.write("@")
} else {
document.write("★")
}
}
document.write("<br>")
}
3. 아래와 같이 출력하시오
1+ . . . +10=55
1+ . . . +20=210
1+ . . . +30=465
1+ . . . +40=820
1+ . . . +50=1275
1+ . . . +60=1830
1+ . . . +70=2485
1+ . . . +80=3240
1+ . . . +90=4095
1+ . . . +100=5050
[풀이]
for(let i=1; i<=10; i++) {
document.write("1+ . . . +" + i*10 + "=")
let sum = 0;
for(let j=1; j<=i*10; j++) {
sum += j
}
document.write(sum)
document.write("<br>")
}
4. 1~100사이 중에서 짝수의 합, 홀수의 합을 각각 구하시오
[풀이]
let sum1 = 0
let sum2 = 0
for(let i=1; i<=100; i++) {
if(i%2!==0) {
sum1 += i
} else {
sum2 += i
}
}
document.write("홀수의 합: " + sum1 + "<br>")
document.write("짝수의 합: " + sum2)
5. 다음식의 결과를 구하시오
1 - 2 + 3 - 4 + 5 . . . -100 = ?
[풀이]
let sum=0;
let flag=false;
for(let i=1; i<=100; i++) {
if(flag) {
sum -= i
flag = false
} else {
sum += i
flag = true
}
}
document.write(sum)
배열 연습문제
1. 주어진 값이 아래와 같을때 문제를 푸시오
let num = [7, 8, -9, 5, 6]
let size = num.length
1-1) 배열 요소의 전체 합을 구하시오
[풀이]
let sum=0;
for(let i=1; i<size; i++) {
sum += num[i]
}
document.write(sum)
1-2) 음수의 갯수를 구하시오
[풀이]
let count = 0;
for (const miner of num) {
if(miner<0) {
count++
}
}
document.write(count)
1-3번 , 1-4번 , 1-5번 문제는 sort함수를 이용함에 따라서(원본 배열이 바뀜) num배열을 number변수에 복제하여 사용했음
1-3) 최대값, 최소값을 각각 구하시오
[풀이]
const number = []
for(const value of num) {
number.push(value)
}
let align = number.sort(function(a, b){ return a - b })
let max = align [align.length-1]
let min = align[0]
document.write(`최대값: ${max}, 최소값: ${min}`)
1-4) num[4]요소의 등수를 구하시오
[풀이]
const number = []
for(const value of num) {
number.push(value)
}
align = number.sort(function(a, b){ return b - a })
let rank = align.indexOf(num[4])+1
document.write(rank + "등")
1-5) 아래와 같이 rank 배열이 주어졌을 때 num 배열 요소의 각각의 등수를 rank배열의 0~5 인덱스 안에 저장하시오
const rank = [1, 1, 1, 1, 1]
[결과]
2,1,5,4,3
[코드]
const number = []
for(const value of num) {
number.push(value)
}
let align = number.sort(function(a, b){ return b - a })
for (let i=0; i<size; i++) {
rank[i] = align.indexOf(num[i])+1
}
document.write(rank)
반응형
'Front-End > JavaScript' 카테고리의 다른 글
JavaScript(5) (0) | 2023.02.15 |
---|---|
JavaScript(4) (0) | 2023.02.14 |
자바스크립트 예제 (3) (0) | 2023.02.13 |
댓글