이야기 정리

무한반복하기 - while문, do while문 본문

개발공부/JavaScrit

무한반복하기 - while문, do while문

jinhistory 2023. 2. 14. 13:17
while문이란?
  • 조건식이 true일 때까지 반복하는 문법이다. 오직 true일 때만 실행되고, false일 때는 조건문을 반복 후 실행하지 않고 넘어간다.
  • for문과 달리 횟수가 아닌 조건만을 지정하기 때문에 횟수를 몰라도 사용할 수 있다.
    때문에 반복 횟수를 모르거나(무한루프 등), 특정 조건 달성때까지 반복해야하는 함수를 쓸 때 유용하다.
  • while(true)로 설정할 시 무한 루프를 의미한다. 조건을 별도로 설정할 시 조건 달성 후 while문을 중단한다는 차이점이 있다.
// 사용법
while (/*조건*/) {
    //콜백할 코드
}

 

Do While 문이란?
  • While문의 변형문
  • 반복 시킬 조건이 true인지 확인하기 전에 코드를 먼저 코드를 실행한 다음, 조건이 true이면 반복한다.
    때문에 조건이 false여도 한번 이상 실행된다.
// 사용법
do {
    //콜백할 코드
}
while (/*조건*/)

 

예제

for문, while문, do while문의 각각 작성법 차이를 알아보기 위해 프로그래머스의 피자 나눠먹기(2) 문제를 예제로 가져왔다.

피자를 6조각으로 자를 때, 모든 인원이 같은 수의 피자조각을 먹기 위해서는 최소 몇판을 시켜야하는가에 대한 문제이다.

 

https://school.programmers.co.kr/learn/courses/30/lessons/120815

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

//for
function solution1(n) {
    for (let i=1; i<=100; i++) {
        if (6*i%n === 0) {
            return i
        }
    }
}

//while
function solution2(n) {
    let answer = 1
    while (6*answer%n) {
        answer++
    }
    return answer
}

//do while
function solution3(n) {
    let answer = 1
    do {
        answer++
    }
    while (6*answer%n)
    return answer
}

난 문제를 풀 때 for문으로 풀었으나, 예시처럼 while문을 적절하게 사용하면 더 간편하게 코드를 짤 수 있다.

 

 

 

 

참조

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/while

https://www.w3schools.com/js/js_loop_while.asp

https://webclub.tistory.com/166

 

Comments