JavaScript에서는 직접 함수를 작성하여 주어진 크기 값에 맞는 다이아몬드 모양을 콘솔에 출력할 수 있습니다. 중첩 반복문을 활용하면 별(*) 문자로 이루어진 다이아몬드를 손쉽게 그릴 수 있는데요, 아래 예제 코드를 통해 구현 방법을 살펴보겠습니다.
예제 코드
다음 코드는 createDimondShape라는 이름의 함수를 정의하고, 인자로 전달된 크기만큼 다이아몬드 모양을 출력합니다.
function createDimondShape(size){
for(var i=1;i<=size;i++){
for(var s=size-1;s>=i;s--){
process.stdout.write(" ");
}
for(var j=1;j<=i;j++){
process.stdout.write("* ")
}
console.log();
}
if(i==size+1){
for(var i=1;i<=size-1;i++){
for(var s=1;s<=i;s++){
process.stdout.write(" ");
}
for(j=i;j<=size-1;j++){
process.stdout.write("* ");
}
console.log();
}
}
}
createDimondShape(9);코드 동작 원리
이 함수는 두 단계로 나뉘어 동작합니다. 첫 번째 반복문은 공백과 별의 개수를 조절하며 다이아몬드의 윗부분(정방향 피라미드)을 그립니다. 이후 두 번째 반복문은 반대로 공백을 늘리고 별을 줄여가며 아랫부분(역방향 피라미드)을 완성해 전체적인 다이아몬드 형태를 만듭니다. Node.js 환경에서 줄바꿈 없이 출력하기 위해 process.stdout.write()를 사용한 점도 눈여겨볼 만합니다.
프로그램 실행 방법
위 프로그램을 실행하려면 터미널에서 다음 명령어를 입력합니다.
node fileName.js
여기서는 파일 이름이 demo58.js이므로 아래와 같이 실행하면 됩니다.
node demo58.js
출력 결과
위 코드를 실행하면 다음과 같이 크기 9짜리 다이아몬드 모양이 콘솔에 출력됩니다.
PS C:\Users\Amit\JavaScript-code> node demo58.js * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
이처럼 반복문의 범위와 공백·별의 개수 규칙만 잘 조절하면, 원하는 크기의 다이아몬드 패턴을 자유롭게 출력할 수 있습니다. 인자 값만 바꾸면 다양한 크기의 패턴을 실험해 보세요.