별 그리기 문제 1
- 별을 첫 줄에는 1개, 둘째 줄에는 2개, … , 다섯째 줄에는 5개를 그리시오.
문제 분석
- 별을 반복해서 그리되, 각 줄마다 개수가 점점 늘어나게 그려야 함.
- 반복문을 여러 번 반복해야 함 : 이중 반복문 사용 필요
코드 작성
package ex03;
// 주석 처리된 코드는 내가 생각한 코드
public class Prc01 {
public static void main(String[] args) {
// 1. 별 하나 찍기
// System.out.println("*");
int n = 0;
n++;
for (int i = 0; i < n; i++) {
System.out.print("*");
}
System.out.println();
// 2. 별 2개 찍기
// for (int i = 0; i < 2; i++) System.out.print("*");
n++;
for (int i = 0; i < n; i++) {
System.out.print("*");
}
System.out.println();
// 3. 별 3개 찍기
// for (int i = 0; i < 3; i++) System.out.print("*");
n++;
for (int i = 0; i < n; i++) {
System.out.print("*");
}
System.out.println();
// 4. 별 4개 찍기
// for (int i = 0; i < 4; i++) System.out.print("*");
n++;
for (int i = 0; i < n; i++) {
System.out.print("*");
}
System.out.println();
// 5. 별 5개 찍기
// for (int i = 0; i < 5; i++) System.out.print("*");
n++;
for (int i = 0; i < n; i++) {
System.out.print("*");
}
System.out.println();
// 6. 한 번에 다 처리 (이중 반복문)
n = 0;
for (int line = 0; line < 5; line++) {
n++;
for (int count = 0; count < n; count++) {
System.out.print("*");
}
System.out.println();
}
}
}
- n이라는 변수를 추가하여 줄이 추가될 때마다 n에 1씩 추가 (line counter)
- 이중 반복문을 이용하여 줄을 여러 번 적는 것을 반복문으로 단축
- 별을 연속으로 찍은 후 줄을 바꿔야 하므로 별을 찍는 sout 문은 println이 아닌 print
- 각 줄의 별 입력이 끝난 후 println을 통한 줄 바꿈
결과

문제 요점
- 각 줄이 변경될 때마다 별의 개수가 늘어남에 주의
- line counter의 개념을 이해하고 추가 변수를 사용할 수 있어야 함
- 줄 바꿈 및 별 출력의 sout문 차이에 유의
Share article