Day07 - 반복문의 중첩 02

2021. 2. 23. 11:25JAVA 공부

오늘ㄹㄹㄹ도 반복문의 중첩에 대해 공부해 봅시다.

 

오늘은 별찍기를 해볼거에용

이렇게 별을 찍기 위해서는 어떻게 해야 할까요?

중첩 반복문을 사용하면 되는데, 행이 5개, 열이 4개네요.

그러면 행이 1번 돌때, 열이 4번 -> 내부 반복문이 4번 반복 되도록

열이 4번 돌면 행이 1번씩 총 5번 -> 외부 반복문이 5번 반복 되도록

 

외부에 있는 for문은 5번 반복 되고, 내부에 있는 for문은 4번 반복이 되죠.

그리고, 내부에 있는 for문이 다 돌고, 줄을 바꿔줍니다.

 

이번에는 별이 1개씩 늘어가도록 찍어봅시다

일단, 행이 5개죠 ? 그러면 외부에 있는 반복문은 5번 반복되면 되겠네여

그리고, 내부에 있는 반복문은 1개부터 1개씩 늘어가네여

내부 반복문 에서, j가 1일때, i도 1이죠 그럼 참이니까, 한번 실행이 됩니다.

j가 2일 때, i는 1이죠, 그럼 거짓이니까 총 1번 실행이 되고, 내부에 있는 for문을 빠져 나갑니다.

i가 2로 올라가게 되고, 다시 내부 반복문으로 들어와서, j가 1일 때, i는 2죠.

그럼 다시 참이니까 실행이 되고,

j가 2일 때, i는 2죠. 또 실행이 되고,

j가 3일 때, i는 2죠. 거짓이니까 빠져나가고, 그럼 총 2번 실행이 되네요

이런식으로 내부에 있는 반복문이 1번씩 실행횟수가 늘어나는 것을 확인 할 수 있습니다.

 

이번에는 별이 1개씩 줄어가도록 찍어봅시다

똑같이 행이 5개니까, 외부 반복문은 5번 반복이 되면 되겠죠?

내부 반복문은 5 - 4 - 3 - 2 - 1 이런식으로 반복횟수를 1번씩 줄이면 되겠네요

star + 1 = 6 이죠?

i는 1일 때, 그러면 5번 반복 되고

i는 2일 때, 그러면 4번이 반복 되고

이런식으로 내부에 있는 반복문의 반복 횟수가 점점 줄어 드는 걸 확인 할 수 있습니다.

 

이번에는 피라미드 모양을 만들어 봅시다

먼저 행이 5개죠? 그럼 똑같이 외부에 있는 반복문은 5번 반복 되면 되겠네요

내부에는 공백을 찍어줄 반복문과 *를 찍어줄 반복문 . 2개가 있어야 겠네요?

먼저 공백을 만들어주는 내부 반복문은 1개씩 줄어가네요? 위와 똑같죠

*을 찍어주는 내부 반복문은 1개부터 2개씩 늘어가네요?

*를 찍어주는 공식을 한번 볼까요?

*이 1개일 때, i = 1,

*이 3개일 때, i = 2,

*이 5개일 때, i = 3,

*이 7개일 때, i = 4

이런식으로 늘어가네요? 그러면 i*2 -1 이라고 쓸 수 있겟죠?

 

피라미드를 찍어봤으니까, 거꾸로도 찍을 수 있겟죠? 거꾸로는 스스로 한번 찍어 봅시다

 

이번 시간에는 이렇게 중첩 반복문의 응용을 배워 보았습니다.

 

고생하셨습니다.

'JAVA 공부' 카테고리의 다른 글

Day07 - 제어문 break  (0) 2021.02.23
Day07 - 향상된 for 문  (0) 2021.02.23
Day06 - 반복문의 중첩 01  (0) 2021.02.22
Day06 - 반목문 for , swap  (0) 2021.02.22
Day06 - 반목문 do while  (0) 2021.02.22