이 글에서는 C++ 프로그래밍 언어를 사용하여 @ 문자로 구성된 반쪽 피라미드(half-pyramid) 패턴을 출력하는 방법을 알아봅니다. 중첩 반복문(nested loop)의 기본 원리를 익히기에 좋은 예제로, 목표한 패턴을 출력하기 위해 다음과 같은 알고리즘을 설계했습니다.
알고리즘
1단계: 패턴의 높이(Bash Height)를 설정한다 2단계: 행(row)의 개수를 처리하는 외부 루프를 작성한다 3단계: 열(column)을 처리하는 내부 루프를 작성한다 4단계: 문자(@)를 출력하여 패턴을 만든다 5단계: 각 행이 끝날 때마다 줄바꿈을 한다 (내부 루프 밖에서 실행) 6단계: 설정한 높이만큼 루프를 반복한다
예제 코드
위 알고리즘에 따라 완성된 C++ 소스 코드는 다음과 같습니다.
#include <iostream>
using namespace std;
void PrintBash(int n){
// 행의 개수를 처리하는 외부 루프
for (int i = 0; i < n; i++){
// 열의 개수를 처리하는 내부 루프
for(int j = 0; j <= i; j++){
// 문자 출력
cout << "@ ";
}
// 각 행이 끝난 후 줄바꿈
cout << endl;
}
}
int main(){
int Len = 6;
PrintBash(Len);
return 0;
}코드 동작 원리
외부 루프 변수 i는 현재 몇 번째 행인지를 나타내고, 내부 루프 변수 j는 그 행에서 @ 문자를 몇 개 출력할지 결정합니다. j <= i 조건 덕분에 첫 번째 행에는 1개, 두 번째 행에는 2개처럼 행 번호가 늘어날수록 문자가 하나씩 더 출력되어 삼각형 모양이 완성됩니다. 내부 루프가 끝나면 endl로 줄바꿈하여 다음 행으로 넘어갑니다.
실행 결과
위 코드를 컴파일하고 실행하면 높이 6짜리 반쪽 피라미드가 다음과 같이 출력됩니다.
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
변수 Len의 값을 변경하면 원하는 높이의 피라미드를 자유롭게 출력할 수 있으며, 출력 문자를 다른 기호로 바꾸면 별(*)이나 숫자 등 다양한 패턴으로도 응용할 수 있습니다.