๊ฐ๋ฐ/Algorithm
์๊ณ ๋ฆฌ์ฆ - ์ผ๊ฐํ ๊ทธ๋ฆฌ๊ธฐ
daramii
2022. 3. 4. 09:50
๋ฌธ์
n์ธต์ ์ผ๊ฐํ์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ฌ๋ผ. Input, Output์ ์์ ๋ฅผ ์ฐธ๊ณ ํ๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ ์n์ด ์ฃผ์ด์ง๋ค. (0≤n≤100)
์ถ๋ ฅ
๋ค์ ์์ ์ ๊ฐ์ด ์ผ๊ฐํ ๋ชจ์์ผ๋ก ‘*’์ ์ถ๋ ฅํ๋ค.(๊ณต๋ฐฑ์ ๊ฐ์์ ๋ณ์ ๊ฐ์๋ฅผ ์ ํํ๊ฒ ํ์ธํด์ฃผ์๋ฐ๋๋๋ค.)
์์ ์ ๋ ฅ
3
์์ ์ถ๋ ฅ
*
***
*****
๋ด๊ฐ ํด๊ฒฐํ ๋ฐฉ์
//๋ช์ธต
int num;
//์
๋ ฅ๋ฐ๊ธฐ
Scanner sc = new Scanner(System.in);
num = sc.nextInt();
//์
๋ ฅ๋ฐ์ ๊ฐ์ ๋ํด์ ๊ฐ๋ก๋ก ๋ช์ค ๊ทธ๋ฆด๊ฒ์ธ์ง ๊ณ์ฐ
// 3์ธต์ด๋ฉด -> ํ ํ์ ๋ํด์ ์ด 5๊ฐ๋ฅผ ๊ทธ๋ฆฐ๋ค.
int row = num*2-1;
//์ธต๋ณ๋ก ๋์๋ณธ๋ค.
for(int i = 1; i <= num; i++ ) {
//์ฌ๊ธฐ์ empty๋ ๊ณต๋ฐฑ์ ์ผ๋ง๋ ๊ทธ๋ฆด๊ฒ์ธ๊ฐ์ด๋ค.
//1์ธต์ผ๋ -> 1๊ฐ์ ๊ณต๋ฐฑ : 2*1-1 = 1 -> 5 - 1 = 4
//2์ธต์ผ๋ -> 2๊ฐ์ ๊ณต๋ฐฑ : 2*2-1 = 3 -> 5 - 3 = 2
//3์ธต์ผ๋ -> 0๊ฐ์ ๊ณต๋ฐฑ : 2*3-1 = 5 -> 5 - 5 = 0
//์ฌ๊ธฐ์ ๋๋๊ธฐ 2๋ฅผ ํ ์ด์ ๋ ์๋ค๋ก ๊ณต๋ฐฑ์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์
//๋ฐ๋ฐ์ฉ ๊ทธ๋ฆฌ๊ธฐ ์ํจ์ด๋ค.
int empty = (row - (2*i-1)) / 2;
//๋จผ์ ์์ชฝ ๊ณต๋ฐฑ์ ๊ทธ๋ฆฐ๋ค.
for(int k = 0; k < empty; k++) {System.out.print(" ");}
//๋ค์์ผ๋ก ์ค๊ฐ์ *์ ์ฐ์ด์ค๋ค.
//์ ์ฒด - ์ ์ฒด๊ณต๋ฐฑ = ๋ณ์ ๊ฐฏ์
for(int k = 0; k < row-(empty*2); k++) {System.out.print("*");}
//๋ง์ง๋ง์ผ๋ก ๋จ์ ๊ณต๋ฐฑ์ ๊ทธ๋ฆฐ๋ค.
for(int k = 0; k < empty; k++) {System.out.print(" ");}
//ํ์ค ๋ค ๊ทธ๋ ธ์ผ๋, ๋ค์ ์ค๋ก ๋๊ธด๋ค.
System.out.print("\n");
}โ