안녕하세요 for문안에 for문을 해볼려고 합니다.
for (var i=0; i<10; i++){
for(var j=0; j<100; j++){
if(i == j){
// 만약에 i와 j가 같다면
console.log(a);
}
}
한눈에봐도 간단한 for문 입니다
a의 값은 0 ~9 인데 이걸
b의 값 0~ 99 까지와 비교를 하여 0 ~ 9 를 뽑아내는 식 입니다.
이렇게 했을시 안좋은 점은
a가 0 일때 b를 0~ 99 번 돌려서 비교후 0 출력
a가 1 일때 b를 0~ 99 번 돌려서 비교후 1 출력
.
.
.
a가 9 일때 b를 0~ 99 번 돌려서 비교후 9 출력
이렇게 100 번씩 10번의 동작으로 100 * 10 이란 어마어마한 동작을 하고 있습니다.
여기서 제가 생각한 방법은
a가 0 일때 b를 0~ 99번 돌려서 찾는다
a = 0 ( a가 0일때 )
b = 0 ( b가 0이다 0출력후 b를 돌리는 for문 바로 종료 )
a가 1 일때 b를 0~ 99번 돌려서 찾는다
a = 1 ( a가 1일때 )
b = 0 ( b가 0이다 아니므로 다음 동작)
b = 1 ( b가 1이다 1출력후 b를 돌리는 for문 바로 종료 )
a가 2 일때 b를 0~ 99번 돌려서 찾는다
a = 2 ( a가 2일때 )
b = 0 ( b가 0이다 아니므로 다음 동작)
b = 1 ( b가 1이다 아니므로 다음 동작)
b = 2 ( b가 2이다 2출력후 b를 돌리는 for문 바로 종료 )
a가 3 일때 b를 0~ 99번 돌려서 찾는다
a = 3 ( a가 3일때 )
b = 0 ( b가 0이다 아니므로 다음 동작)
b = 1 ( b가 1이다 아니므로 다음 동작)
b = 2 ( b가 2이다 아니므로 다음 동작)
b = 3 ( b가 3이다 3출력후 b를 돌리는 for문 바로 종료 )
.
.
.
이런식이라면 100 번씩 10번이 아닌
a가 0 일때는 1번 동작
a가 1 일때는 2번 동작
a가 3 일때는 3번 동작으로 총
1 + 2 + 3 + 4 + 5 ... + 9 = 45번이면 원하는 동작이 나오게 됩니다.
이런식으로 2번째 for문에서 조건이 맞았을시 2번째 for문만 종료하고 다음 첫번째 for문으로 넘어가는식의 for문은
어떻게 작성 해야 할까요?