Java 별 찍기

Bennie97·2022년 1월 23일
0
post-thumbnail

별찍기 접근 팁 💻💻

  1. 이중 for문은 불가피하다. 바깥쪽 for문의 index i가 1씩 증가할때마다
    별이 한줄에 몇개씩 찍히는가를 먼저 생각해보기

  2. 5.모양, 6.모양 같은 경우에는 오른쪽 공백 계산 하지 않아도 됨.
    별이 한줄에 몇개씩 찍히는가 생각해보고 추가로 왼쪽에 공백이 얼마나 들어가는가 계산해주면 끝.

  3. 7.모양 같은 경우에는 1.모양 과 2.모양을 합친것.

1.모양

*
**
***
****
*****

1.코드

//첫번째 방법
for(int i = 0; i < 5; i++){
	for(int j = 0; j <= i; j++){
    	System.out.printf("*");
    }
    System.out.println();
}

//두번째 방법
for(int i = 5; i > 0; i--){
	for(int j = i; j <= 5; j++){
		System.out.printf("*");
	}
	System.out.println();
}

2.모양

*****
****
***
**
*

2.코드

for(int i = 0; i < 5; i++){
	for(int j = i; j < 5; j++){
		System.out.printf("*");
    }
    System.out.println();
}

3.모양

*****
 ****
  ***
   **
    *

3.코드

//첫번째 방법
for(int i = 0; i < 5; i++) {
	for(int j = 0; j < i; j++) {
		System.out.printf(" ");
	}
  	for(int j = i; j < 5; j++) {
		System.out.printf("*");
	}
	System.out.println();
}
//두번째 방법
for(int i = 0; i < 5; i++) {
	for(int j = 0; j < i; j++) {
		System.out.printf(" ");
	}
	for(int j = 0; j < (5-i); j++) {
		System.out.printf("*");
	}
	System.out.println();
}

4.모양

    *
   **
  ***
 ****
*****

4.입력

for(int i = 0; i < 5; i++) {
	for(int j = 0; j < (5-i-1); j++) {
		System.out.printf(" ");
	}
	for(int j = 0; j <= i; j++) {
		System.out.printf("*");
	}
	System.out.println();
}

5.모양

    *
   ***
  *****
 *******
*********

5.입력

//첫번째 방법
for(int i = 0; i < 5; i++) {
	for(int j = 0; j < 5-i-1; j++) {
		System.out.printf(" ");
	}
	for(int j = 0; j < (2*i + 1); j++) {
		System.out.printf("*");
	}
	System.out.println();
}
//두번째 방법
for(int i = 0; i < 5; i++) {
	for(int j = i+1; j < 5; j++) {
		System.out.printf(" ");
	}
	for(int j = 0; j < (2*i + 1); j++) {
		System.out.printf("*");
	}
	System.out.println();
}

6.모양

*********
 *******
  *****
   ***
    *

6.입력

//첫번째 방법
for(int i = 0; i < 5; i++) {
	for(int j = 0; j < i; j++) {
		System.out.printf(" ");
	}
	for(int j = (i*2); j < 2*(5-1)+1; j++){
		System.out.printf("*");
	}
	System.out.println();
}
//두번째 방법
for(int i = 0; i < 5; i++) {
	for(int j = 0; j < i; j++) {
		System.out.printf(" ");
	}
	for(int j = 0; j < (2*(5-i)-1); j++){
		System.out.printf("*");
	}
	System.out.println();
}

7.모양

*
**
***
****
*****
****
***
**
*

7.입력

/*
중간에 별 다섯개 짜리기점으로 1. 모양을 먼저 만들고
2.그 다음 index를 1로 설정해서 2.모양을 만들면 된다.
*/
for(int i = 0; i < 5; i++) {
	for(int j = 0; j <= i; j++) {
		System.out.printf("*");
	}
	System.out.println();
}
for(int i = 1; i < 5; i++) {
	for(int j = 0; j < 5-i; j++) {
		System.out.printf("*");
	}
	System.out.println();
}

8.모양

    *
   **
  ***
 ****
*****
 ****
  ***
   **
    *

8.입력

for(int i = 0; i < 5; i++) {
	for(int j = 0; j < 5-i-1; j++) {
		System.out.printf(" ");
	}
	for(int j = 0; j <= i; j++) {
		System.out.printf("*");
	}
	System.out.println();
}
for(int i = 1; i < 5; i++) {
	for(int j = 0; j < i; j++) {
		System.out.printf(" ");
	}
	for(int j = 0; j < 5-i; j++) {
		System.out.printf("*");
	}
	System.out.println();
}

9.모양

    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

9.입력

for(int i = 0; i < 5; i++) {
	for(int j = 0; j < 5-i-1; j++) {
		System.out.printf(" ");
	}
	for(int j = 0; j < 2*i+1; j++) {
		System.out.printf("*");
	}
	System.out.println();
}
for(int i = 1; i < 5; i++) {
	for(int j = 0; j < i; j++) {
		System.out.print(" ");
	}
	for(int j = 0; j < 2*(5-1)+1-(2*i); j++) {
		System.out.printf("*");
	}
	System.out.println();
}

10.모양

*	 *	
**      **
***    ***
****  ****
**********
****  ****
***    ***
**      **
*	 *	

10.입력

for(int i = 0; i < 5; i++) {
	for(int j = 0; j <= i; j++) {
		System.out.printf("*");
	}
	for(int j = 0; j < 5*2 - 2*(i+1); j++) {
		System.out.printf(" ");
	}
	for(int j = 0; j <= i; j++) {
		System.out.printf("*");
	}
	System.out.println();
}
		
for(int i = 1; i < 5; i++) {
	for(int j = 0; j < (5-i); j++) {
		System.out.printf("*");
	}
	for(int j = 0; j < 2*i; j++ ) {
		System.out.printf(" ");
	}
	for(int j = 0; j < (5-i); j++) {
		System.out.printf("*");
	}
	System.out.println();
}

11.모양

*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********

10.입력

for(int i = 0; i < 5; i++) {
	for(int j = 0; j < i; j++) {
		System.out.printf(" ");
	}
	for(int j = 0; j < 2*(5-1)+1 - 2*i; j++ ) {
		System.out.printf("*");
	}
	System.out.println();
}

for(int i = 1; i < 5; i++) {
	for(int j = 0; j < 5-i-1; j++) {
		System.out.printf(" ");
	}
	for(int j = 0; j < (2*i+1); j++) {
		System.out.printf("*");
	}
	System.out.println();
}
profile
현명한개발자가되자

0개의 댓글