풀이방법
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();
}
}
}
/*
*
***
*****
*******
*****
***
*
*
*/
'Java' 카테고리의 다른 글
자바 - 객체참조 (0) | 2023.08.27 |
---|---|
자바 별찍기 - 원모양 만들기 (feat.원의 방정식) (0) | 2023.08.19 |
스캐너(Scanner) : java의 입력기능 (0) | 2023.08.13 |
Java 형변환 - 자동 형변환 vs 명시적 형변환 (0) | 2023.08.11 |
Java 상수형 데이터 타입 (0) | 2023.08.11 |