이 글에서는 Java를 이용해 왼쪽 삼각형 별(*) 패턴을 출력하는 방법을 알아봅니다. 이러한 패턴은 여러 개의 for 루프와 print 문을 조합하면 손쉽게 구현할 수 있습니다.
실행 결과 미리 보기
입력
사용자가 아래와 같이 행(row)의 개수를 입력했다고 가정해 보겠습니다.
Enter the number of rows : 8
출력
그렇다면 원하는 출력 결과는 다음과 같습니다.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
알고리즘
패턴을 출력하는 전체 과정은 다음 단계로 정리할 수 있습니다.
Step 1 - 시작(START) Step 2 - 정수형 변수 i, j, my_input 세 개를 선언한다 Step 3 - 사용자로부터 필요한 값을 입력받거나 값을 직접 정의한다 Step 4 - 두 개의 중첩 'for' 루프를 반복하며 문자 사이의 간격을 처리한다 Step 5 - 가장 안쪽 루프의 반복이 끝나면 또 다른 'for' 루프를 통해 필요한 문자를 출력한다 Step 6 - 줄바꿈(newline)을 출력하여 각 줄마다 지정된 개수의 문자가 표시되도록 한다 Step 7 - 결과를 화면에 표시한다 Step 8 - 종료(STOP)
동작 원리
핵심은 중첩 for 루프입니다. 바깥쪽 루프는 행의 개수만큼 반복하고, 안쪽 루프는 현재 행 번호(i)에 따라 별을 i+1개씩 출력합니다. 한 행의 출력이 끝날 때마다 System.out.println()으로 줄바꿈을 해 주면 계단식으로 늘어나는 왼쪽 삼각형 모양이 완성됩니다.
예제 1: 사용자 입력값으로 출력하기
아래 예제에서는 Scanner 클래스를 사용해 사용자로부터 행의 개수를 직접 입력받은 후 패턴을 출력합니다.
import java.util.Scanner;
public class LeftTriangle{
public static void main(String args[]){
int i, j, my_input;
System.out.println("Required packages have been imported");
Scanner my_scanner = new Scanner(System.in);
System.out.println("A reader object has been defined ");
System.out.print("Enter the number of rows : ");
my_input = my_scanner.nextInt();
System.out.println("The left triangle star pattern : ");
for(i=0; i<my_input; i++){
for(j=0; j<=i; j++){
System.out.print("* ");
}
System.out.println();
}
}
}
출력 결과
Required packages have been imported A reader object has been defined Enter the number of rows : 8 The left triangle star pattern : * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
예제 2: 미리 정의된 값으로 출력하기
아래 예제에서는 행의 개수가 코드 내에서 미리 정의되어 있으며, 해당 값이 콘솔에 그대로 출력됩니다.
public class LeftTriangle{
public static void main(String args[]){
int i, j, my_input;
my_input = 8;
System.out.println("The number of rows is defined as " +my_input);
System.out.println("The left triangle star pattern : ");
for(i=0; i<my_input; i++){
for(j=0; j<=i; j++){
System.out.print("* ");
}
System.out.println();
}
}
}
출력 결과
The number of rows is defined as 8 The left triangle star pattern : * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
마무리
이처럼 중첩 for 루프의 반복 횟수 조건만 조절하면 별 패턴의 크기를 자유롭게 변경할 수 있습니다. 역삼각형, 피라미드, 다이아몬드 패턴 등 다양한 형태로 응용해 보면서 반복문의 동작 원리를 익혀 보시기 바랍니다.