Java
자바 별찍기 - 마름모 만들기
becky(지은)
2023. 8. 18. 18:08
풀이방법
1. 변곡점 기준으로 도형을 자른다
2. 위 삼각형의 너비길이를 기준으로, 아래 삼각형의 너비길이를 구한다.
3. 주의 ! - 두번째 반복문식에서는 i와 관련있는 식을 쓸것, 그렇지 않으면(만약 number 기준) 사각형이 만들어짐
import java.util.Scanner;
public class 마름모 {
public static void main(String[] args) {
int number = scan.nextInt();// 스캔값이 1일때 그냥 *이 나오는 것을 피하고 싶다면 +1을 해도 좋다
int number = scan.nextInt();
int maxWidth = 2 * number -1;
//1. 위 삼각형
for (int i = 0; i < number; i++) {
for (int j = number-1; j > i; j--) { //number =4이면, 공백 3개, 2개, 1개 j= 3~1, 3~2, 3
System.out.print(" ");
}
for (int j = 0; j < 2 * i+ 1 ; j++) { //*가 1개 3개 5개 7개 1+ 2(n-1) = 2n-1 여기서 n은 1부터 이기 때문에, 1+ 2(i+1-1) = 2i +1
System.out.print("*");
}
System.out.println();
}
//2. 아래 삼각형
for (int i = 0; i < number -1 ; i++) {
for (int j = 0; j < i+1 ; j++) { //공백 1,2,3
System.out.print(" ");
}
for (int k = maxWidth-2; k > 2* i; k--) { // 최대너비(가로)에서 2 뺀값에서 시작! 5,3,1 k > 0, k > 2, k > 4
System.out.print("*");
}
System.out.println();
}
}
}
/*
*
***
*****
*******
*****
***
*
*
*/