JavaScript 조건문 & 반복문 연습 문제풀기

zin·2023년 9월 3일
1

Q. 변수 x가 10보다 크고 20보다 작을 때 변수 x를 출력하는 조건식을 완성하라

let x = 15
if(x>10 && x<20){
    console.log(x)
}

Q. for문을 사용하여 0부터 10미만의 정수 중에서 짝수만을 작은 수부터 출력하시오.

for(let i=0; i<10; i++){
    if(i % 2 === 0){
        console.log(i)
    }
}

Q. for문을 사용하여 0부터 10미만의 정수 중에서 짝수만을 작은 수부터 문자열로 출력하시오.

for(let i=0; i<10; i++){
    if(i % 2 === 0){
        console.log(i.toString())
    }
}

//정답 풀이
var evenStr = '';
for ( let i = 0; i < 10; i++) {
  if ( i % 2 === 0) evenStr += i;
}
console.log(evenStr);

Q. for문을 사용하여 0부터 10미만의 정수 중에서 홀수만을 큰수부터 출력하시오.

for(let i=10; i>0; i--){
    if(i % 2=== 1){
        console.log(i)
    }
}

Q. while문을 사용하여 0 부터 10 미만의 정수 중에서 짝수만을 작은 수부터 출력하시오.

let num = 0;

while (num < 8) {
  if(num % 2 === 0 ) {
        console.log(num)
      
  }
    num += 1; 
}

Q. while문을 사용하여 0 부터 10 미만의 정수 중에서 홀수만을 큰수부터 출력하시오.

let num = 10;

while(num >= 0 ) {
    if(num % 2 === 1) {
        console.log(num)
    }
    num -= 1;
}

Q. for 문을 사용하여 0부터 10미만의 정수의 합을 출력하시오.

let sum = 0;

for(let s=0; s<10; s++){
    sum += s;
}
   console.log(sum)

Q. 1부터 20 미만의 정수 중에서 2 또는 3의 배수가 아닌 수의 총합을 구하시오.

let i = 0;

for(let s = 1; s<20; s++){
    if(!(s % 2 === 0) && !(s % 3 === 0)){
        i+= s
    }
}
console.log(i)

Q. 1부터 20 미만의 정수 중에서 2 또는 3의 배수인 수의 총합을 구하시오.

let i = 0;

for(let s = 1; s<20; s++){
    if(s % 2 === 0 || s % 3 === 0){
        i+= s;
    }
}
console.log(i)

Q. 두 개의 주사위를 던졌을 때, 눈의 합이 6이 되는 모든 경우의 수를 출력하시오.

for(let s = 1; s<6; s++){
    for(let i = 1; i<6; i++){
        if(i + s === 6){
            console.log([i,s])
        }
    }
}

Q. 구구단 짝수 단만 출력하시오.

for(let b=2; b<10; b++){
    if(b % 2 === 0){
        for(let c=1; c<10; c++){
            console.log(`${b} x ${c} = ${b*c}`)
        }
    }
}

Q. 입력되는 인수가 5보다 클 때는 1을 출력하고, 5 보다 작거나 같으면 무조건 0을 출력하는 myf1( ) 을 생성하세요.

function myf1(x){
    return ( x > 5 ) ? 1 : 0;
}
myf1(6) //1

Q. 입력되는 인수가 양수일 때는 1을 출력하고 나머지는 늘 0 을 출력하는 myf2( ) 를 생성하세요.

function myf2(x){
    return ( x >= 0 ) ? 1:0;
}

Q. 두 숫자를 입력해서 첫 번째 숫자가 두 번째 숫자보다 클 경우 첫번째 숫자에서 두 번째 숫자를 뺀 값을 출력하고 두 번째 숫자가 첫 번째 숫자보다 클 경우 두 번째 숫자에서 첫 번째 숫자를 뺀 값을 출력하는 함수 myf3( ) 을 작성하세요.

const myf3 = (a,b)=>{ return ( a > b ) ? a - b : b - a;
}

Q. 입력 값이 0이나 0보다 작을 경우 0으로 출력하고 1-5 사이의 값일 경우 1 을 출력하고, 5 초과의 값이 입력될 경우 10을 출력하는 함수 myf4( )를 생성하세요.

const myf4 = (a) => {
    if(a<=0) {
        return 0
    } else if(a<6){
        return 1
    } else if(a>5){
        return 10
    }
}

Q. 사용자에게 과일 이름을 입력 받아서 변수에 저장한 후 만약 사용자가 “감” 을 입력했다면
화면에 “탁월한 선택이세요~!” 를 출력하고 다른 과일 이름을 출력할 경우는 “감 드세요~~!”를 출력하는 if 문을 작성하세요.
(함수명과 변수 명은 자유롭게~)

const 과일=()=>{
		const fruit = prompt('과일을 입력해주세요.') 
    return (fruit === '감') ? ('탁월한 선택이세요~!'):('감 드세요~!')
}
과일()

Q. 10번부터 30번까지 10의배수만 “10번 학생 손드세요” “20번 학생 손드세요” “30번 학생 손드세요” 출력되도록 fo문을 작성하세요.

for(let i=10; i<=30; i++){
   if (i % 10 === 0 ) console.log(`${i} 번 학생 손드세요`)
}

Q. 사용자에게 출력을 원하는 단 수를 입력 받아서 해당 단의 구구단을 출력하는 함수 gugu( ) 를 만드세요.

function gugu(){
    const dan = prompt('원하는 단을 입력하세요.')
        for(let a=1; a<10; a++){
            document.write(`${dan} X ${a} = ${dan*a}<br>`)
        }
}
gugu()

Q. 1부터 8까지 숫자가 담긴 배열의 평균값을 구하시오.

let num = [1,2,3,4,5,6,7,8]

function average(num) {
    let sum = 0
    for(let i=0; i<num.length; i++){
        sum+=num[i]
    }
    return sum/num.length
}
average(num)

Q. 로또번호 구하기

const lottoNum=()=>{
    const lotto = []
    while(lotto.length<6){
        const random = ~~(Math.random() * 46)
        if(!lotto.includes(random)) lotto.push(random);
    }
    return lotto;
}
lottoNum()

끝.

연습겸 풀어보았는데 난이도는 쉽지만,
코테는 더 간결하고 효율적으로 짜려고 노력해야겠다🙃

profile
프론트엔드 가보자고-!

0개의 댓글