c언어

이중 반복문과 별 찍기 패턴 정리

lsjking911 2026. 5. 31. 18:26

✅ 1. 이중 반복문 구조

for(int i=1; i<=5; i++){
    for(int j=1; j<=5; j++){
        // 실행문
    }
}

👉 의미

반복문 안에 또 다른 반복문이 있는 구조

👉 핵심:

바깥 반복 1번 → 안쪽 반복 전체 실행

✅ 2. 별 찍기 기본 구조

for(int i=1;i<=5;i++){
    for(int j=5; j>=i; j--){
        printf("-");
    }
    for(int k=1; k<=i; k++){
        printf("*");
    }
    printf("\n");
}
 

✅ 3. 코드 역할 분석

반복문 역할
i 줄(행)
j 공백(-)
k 별(*)

✅ 4. 실행 흐름 표

i j 반복(j>=i) -개수 k반복 (k<=i) * 개수 출력
1 5→1 5 1 1 -----*
2 5→2 4 2 2 ----**
3 5→3 3 3 3 ---***
4 5→4 2 4 4 --****
5 5→5 1 5 5 -*****

✅ 5. 핵심 패턴

✅ i가 증가할수록
👉 공백(-)은 줄어들고
👉 별(*)은 늘어난다

✅ 6. 조건의 중요성 🔥

✅ 올바른 코드

for(int j=5; j>=i; j--){
 
👉 특징
i에 따라 반복 횟수 변함 ✅

 

❌ 잘못된 코드(될 줄 알았다)

for(int j=5; j>=1; j--){
 

👉 문제

항상 5번 반복 ❌
→ 공백이 변하지 않음
 

✅ 결과 비교

✅ j >= i

-----*
----**
---***
--****
-*****

 

❌ j >= 1

-----*
-----**
-----***
-----****
-----*****

👉 ❌ 모양 깨짐

✅ 7. 핵심 원리

패턴을 만들려면 i가 반드시 조건에 포함되어야 한다

✅ 8. 두 가지 구현 방식 비교

✅ 내 방식 (감소)

for(int j=5; j>=i; j--)

👉 특징:

큰 값 → 줄여 나감

✅ 다른 방식 (증가)

for(int j=i; j<5; j++)
 

👉 특징:

작은 값 → 늘려 나감

 

✅ 차이

방식 설명
감소 방식 위에서 깎는 느낌
증가 방식 아래에서 채우는 느낌

✔ 둘 다 결과는 동일함

✅ 9. 핵심 개념 총정리

✅ 중요한 규칙 3개

1. i → 줄을 의미한다
2. j → 공백 개수를 조절한다
3. k → 별 개수를 늘린다

 

✅ 핵심 공식

공백 → 줄어야 함
별   → 늘어나야 함

 

✅ ✅ 최종 한 줄 정리

이중 반복문에서는 바깥 반복문(i)이 줄을 결정하고, 안쪽 반복문(j, k)이 공백과 별의 개수를 조절하여 패턴을 만든다.

😎 한 방 요약

i = 줄
j = 공백
k = 별

→ i에 따라 j는 줄고, k는 늘어야 모양이 나온다

'c언어' 카테고리의 다른 글

조건에서 깨달은 핵심  (0) 2026.05.31
이중 반복문 핵심 깨달음 정리  (0) 2026.05.31
이중 반복문 완전 정리 (파헤치기🔥)  (0) 2026.05.31
for문 vs while문 정리  (0) 2026.05.31
반복문과 증감 연산자 정리  (0) 2026.05.31