반복문(while do..while)

mini·2025년 4월 18일
0

✅while

while (조건) {
// 반복할 코드
}
💡 1부터 5까지 출력

let i = 1;
while(i<=3){
	console.log(i);
i++
}

1단계

1부터 100까지의 짝수만 출력하기 (while문 사용)

let i = 1;
while (i <= 100) {
    if (i % 2 === 0) {
        console.log(i);  // 짝수일 때만 출력
    }
    i++; // 반복문을 돌리기 위해 증가시킴
}

또는

let i = 2;
while (i <= 100) {
    console.log(i);
    i += 2;
}

2단계

사용자 입력까지 더하기


let sum = 0; // 합계 저장용
let input = prompt("숫자를 입력하세요 (종료하려면 Enter):");

while (input !== "") { // 입력이 비어있지 않은 동안 계속 반복
    sum += Number(input); // 입력값을 숫자로 바꿔 더하기 // 문자열을 숫자로 바꿔서 누적 합산
    input = prompt("숫자를 입력하세요 (종료하려면 Enter):");
}

alert(`총합: ${sum}`); // 반복이 끝나면 총합 알림창으로 보여주기

3단계

3의배수 합 구하기

let sum = 0; // 합계 저장용
let input = prompt("숫자를 입력하세요 (종료하려면 Enter):");

while (input !== "") {
    if(input % 3=== 0){
        sum += Number(input); // 입력값을 숫자로 바꿔 더하기
        input = prompt("숫자를 입력하세요 (종료하려면 Enter):");
    } else {
        input = prompt("숫자를 입력하세요 (종료하려면 Enter):");
    }
}

alert(`총합: ${sum}`);

더 간결하게

let sum = 0;
let input = prompt("숫자를 입력하세요 (종료하려면 Enter):");

while (input !== "") {
    if (Number(input) % 3 === 0) {
        sum += Number(input);
    }

    input = prompt("숫자를 입력하세요 (종료하려면 Enter):");
}

alert(`총합: ${sum}`);

4단계

짝수는 더하고 홀수는 빼기

let sum  =0;
let input = prompt("숫자만 입력");

while(input !== ""){
    const num = Number(input)
    if(num % 2 === 0){
        sum  += num;
        input = prompt("더하기 완료");
    } else {
        sum  -= num;
        input = prompt("빼기 완료");
    }
}
alert(`총합은 ${sum }`);

✅do...while

do {
    // 실행할 코드
} while (조건);

✅ 작동 흐름
1. do 블록 안의 코드를 무조건 한 번 실행하고
2. while(조건)을 검사해서
3. 조건이 참(true) 이면 다시 실행
4. 조건이 거짓(false) 이면 멈춤

✅ while vs do...while
구문 | 실행 순서 | 조건이 처음부터 false면?
while | 조건 → 실행 | 아예 실행 안 됨
do...while | 실행 → 조건 | 한 번은 실행됨

1단계

짝수와 홀수 구분하기

let input;
do {
input = prompt("숫자만 입력하세요 (종료하려면 Enter):");
if (input === "") break; // 빈 문자열이면 종료
const num = Number(input); // 숫자로 변환
if (isNaN(num)) {
alert("숫자가 아닙니다!");
continue; // 잘못된 입력이면 다시 루프
}

if (num % 2 === 0) {
console.log(${num}는 짝수입니다.);
} else {
console.log(${num}는 홀수입니다.);
}

} while (true);

2단계

1부터 100까지 FizzBuzz

let sum = 0; // 초기 합계는 0
do {
    let input = prompt("숫자를 입력하세요 (엔터시 종료):");
    
    // 엔터를 눌러서 종료하는 경우
    if (input === "") {
        break; // 빈 문자열 입력 시 종료
    }

    sum = Number(input); // 입력을 숫자로 변환

    if (sum % 15 === 0) {
        console.log("FizzBuzz");
    } else if (sum % 3 === 0) {
        console.log("Fizz");
    } else if (sum % 5 === 0) {
        console.log("Buzz");
    } else {
        console.log(sum);
    }

} while (true); // true일 때 반복

3단계

사용자 입력 값에 맞는 *별찍기

let rows = Number(prompt("몇 줄??"));
let i = 1;

do {
  let line = "";
  let j = 1;

  do {
    line += "*";
    j++;
  } while (j <= i);

  console.log(line);
  i++;
} while (i <= rows);
profile
할 수 있다!

0개의 댓글