본문 바로가기
Front-End/JavaScript

자바스크립트 예제 (4)

by newny 2023. 2. 14.
반응형

반복문 연습문제

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

댓글