Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- DOM
- localStorage
- stopwatch
- Calculator
- CSS
- javascript
- 웹사이트
- React
- Project
- 브라우저
- calender
- darknode
- mini_project
- Typescript
- todolist
- Timer
- html
Archives
- Today
- Total
이야기 정리
무한반복하기 - while문, do while문 본문
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
//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
'개발공부 > JavaScrit' 카테고리의 다른 글
[자바스크립트] 엘리먼트의 위치 값 구하기 - getBoundingClientRect(), offsetTop (0) | 2023.03.28 |
---|---|
자바스크립트의 This란? (0) | 2023.03.17 |
새로고침을 해도 유지되는 다크모드 - localStorage() (0) | 2023.02.01 |
문자열, 숫자열을 배열로 반환하기 - split(), toString(), Number() (0) | 2023.01.18 |
간단하게 대/소문자로 바꾸기 - toUpperCase(), toLowerCase() (0) | 2023.01.13 |
Comments