이 글에서는 Java를 사용해 왼쪽 삼각형 별 패턴을 출력하는 방법을 알아봅니다. 이 패턴은 여러 개의 for 루프와 print 문을 조합하면 손쉽게 구현할 수 있으며, 반복문의 동작 원리를 익히기에 좋은 예제입니다.
입력 및 출력 예시
입력
사용자가 행의 개수를 8로 입력했다고 가정해 보겠습니다.
Enter the number of rows : 8
출력
그러면 다음과 같은 결과가 화면에 나타납니다.
The right triangle star pattern : * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
알고리즘
전체 로직은 아래 단계로 진행됩니다.
1단계 - 시작(START) 2단계 - 정수형 변수 i, j, my_input 세 개를 선언한다 3단계 - 사용자로부터 필요한 값을 입력받거나 값을 직접 정의한다 4단계 - 두 개의 중첩 'for' 루프를 반복하며 문자 사이의 공백을 처리한다 5단계 - 가장 안쪽 루프의 반복이 끝나면 또 다른 'for' 루프를 통해 필요한 문자(*)를 출력한다 6단계 - 줄바꿈을 출력해 이후 줄에도 지정된 개수의 문자가 표시되도록 한다 7단계 - 결과를 화면에 출력한다 8단계 - 종료(STOP)
동작 원리를 요약하면 다음과 같습니다. 바깥쪽 for 루프는 전체 행의 수를 제어하고, 첫 번째 내부 루프는 별을 오른쪽으로 밀어 주는 공백을 출력하며, 두 번째 내부 루프는 각 행에 별(*)을 찍습니다. 마지막으로 println() 메서드로 줄바꿈을 하면 계단 모양의 삼각형이 완성됩니다.
예제 1: 사용자 입력값 사용하기
이 예제에서는 사용자가 프롬프트에 따라 직접 행의 개수를 입력합니다. 온라인 코딩 도구에서 이 예제를 직접 실행해 볼 수도 있습니다.
import java.util.Scanner;
public class RightTriangle{
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 right triangle star pattern : ");
for (i=0; i<my_input; i++){
for (j=2*(my_input-i); j>=0; j--){
System.out.print(" ");
}
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 right triangle star pattern : * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
예제 2: 미리 정의된 값 사용하기
이번에는 행의 개수가 코드에 미리 정의되어 있으며, 프로그램이 곧바로 그 값을 사용해 패턴을 출력합니다.
public class RightTriangle{
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 right triangle star pattern : ");
for (i=0; i<my_input; i++){
for (j=2*(my_input-i); j>=0; j--){
System.out.print(" ");
}
for (j=0; j<=i; j++ ){
System.out.print("* ");
}
System.out.println();
}
}
}
출력
The number of rows is defined as 8 The right triangle star pattern : * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
이처럼 중첩 반복문만 활용하면 별도의 라이브러리 없이도 다양한 별 패턴을 출력할 수 있습니다. 같은 원리를 응용하면 피라미드, 역삼각형, 다이아몬드 패턴 등도 쉽게 구현할 수 있으니 여러 형태로 변형해 보시길 권합니다.