JunKang 2023. 11. 22. 17:27

[문제] 다음 모양의 별을 찍어주세요!

 

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

 

[코드 및 풀이] 풀이는 주석에!

package class06;

public class Test04 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		/*
		 * 3번 문제
		 * 
		 * 이 문제에서는 각 줄에서 필요한 "*"을 다 찍었다고 개행을 하고 넘어가지 않는다.
		 * " " 또는 "*"이 각 줄에서 정확하게 5번씩 나오는 특징이 있다.
		 */

		for (int a = 0; a < 5; a++) {		// 총 5줄 출력할 거다.
			for (int i = 0; i < 5; i++) {	// 각 줄에서는 " " 또는 "*"을 무조건 5번씩 출력해야 하기에 조건문은 i < 5 이다.
				if (a <= i) {				// i가 a보다 크거나 같은 경우에는 "*"을 찍고 그렇지 않으면 " "를 찍어 공백을 만든다.
					System.out.print("*");
				} else {
					System.out.print(" ");
				}
			}
			System.out.println();
		}
		
		/*
		 * 디버깅 표 
		 * 
		 * a	a<5		i	i<5		a<=i
		 * =================================
		 * 0	T		0	T		T
		 * 				1	T		T
		 * 				2	T		T
		 * 				3	T		T
		 * 				4	T		T
		 * 				5	F
		 * 1	T		0	T		F
		 * 				1	T		T
		 * 				2	T		T
		 * 				3	T		T
		 * 				4	T		T
		 * 				5	F
		 * 2	T		0	T		F
		 * 				1	T		F
		 * 				2	T		T
		 * 				3	T		T
		 * 				4	T		T
		 * 				5	F
		 * 3	T		0	T		F
		 * 				1	T		F
		 * 				2	T		F
		 * 				3	T		T
		 * 				4	T		T
		 * 				5	F
		 * 4	T		0	T		F
		 * 				1	T		F
		 * 				2	T		F
		 * 				3	T		F
		 * 				4	T		T
		 * 				5	F
		 * 5	F
		 * 
		 * */
	}

}