https://www.acmicpc.net/problem/2445
์ฝ๋
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int col = 0;
int space = 2;
// ์์ค(N๊ฐ)
for(int i=1; i<=N; i++) {
for(int j=0; j<i; j++)
System.out.print("*");
for(int j=(i-1)*2; j<(N*2)-2; j++)
System.out.print(" ");
for(int j=0; j<i; j++)
System.out.print("*");
System.out.println();
}
// ์๋ซ์ค(N-1๊ฐ)
for(int i=N; i<(N*2)-1; i++) {
for(int j=col; j<N-1; j++)
System.out.print("*");
for(int j=0; j<space; j++)
System.out.print(" ");
for(int j=col; j<N-1; j++)
System.out.print("*");
System.out.println();
col ++;
space += 2;
}
scan.close();
}
}
ํ์ด
N์ ์ ๋ ฅ๋ฐ๊ณ , N*2 - 1ํ ๊น์ง ๊ท์น์ ์ฐพ์ ์ถ๋ ฅํ๋ ๋ฌธ์ ๋ค.
N์ด 5๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์๋ค.
ํ๋ณ๋ก *์ ๊ฐฏ์์ ๊ณต๋ฐฑ๊ฐฏ์์ ๊ท์น์ ์ฐพ์๋ณด๋ฉด
* ๊ณต๋ฐฑ *
1 8 1
2 6 2
3 4 3
4 2 4
5 0 5 ===========================
4 2 4
3 4 3
2 6 2
1 8 1
์์ ๊ฐ์ ๊ท์น์ด ์๋ค.
====์น ์ค๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ํ, ์๋ซํ์ ๋ฐ๋ก ๊ณ์ฐํด์ค๋ค.
์์ชฝ ํ ์์๋(i=1, 2, 3, 4, 5 ์ผ๋)
*์ ๊ฐฏ์๋ 1, 2, 3, 4, 5 ํ ๊ฐ์ฉ ์ฆ๊ฐํ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ฅ์ ํตํด ์ถ๋ ฅํ๋ค.
for(int j=0; j<i; j++)
System.out.print("*");
๊ณต๋ฐฑ์ ๊ฐฏ์๋ 8, 6, 4, 2, 0 ๋ ๊ฐ์ฉ ๊ฐ์ํ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ฅ์ ํตํด ์ถ๋ ฅํ๋ค.
for(int j=(i-1)*2; j<(N*2)-2; j++)
System.out.print(" ");
i๋ 1๋ถํฐ ์์ํ๋ฏ๋ก, ์ฒซํ์ด 8์ด ๋์ค๋ ค๋ฉด j๊ฐ์ด 8๊น์ง ๋ฐ๋ณต๋ผ์ผํ๋ค.
i=1 ===> (i-1)*2 = 0 , (N*2)-2 = 8 ==> ๊ณต๋ฐฑ์ด 8๊ฐ ์ถ๋ ฅ
i=2 ===> (i-1)*2 = 2 , (N*2)-2 = 8 ==> ๊ณต๋ฐฑ์ด 6๊ฐ ์ถ๋ ฅ
...
๊ณ์ํด์ ์์๊ฐ์ด ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
์๋์ชฝ ํ ์์๋(i=6, 7, 8, 9 ์ผ๋)
*์ ๊ฐฏ์๋ 4, 3, 2, 1 ํ ๊ฐ์ฉ ๊ฐ์ํ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ฅ์ ํตํด ์ถ๋ ฅํ๋ค.
for(int j=col; j<N-1; j++)
System.out.print("*");
i๊ฐ์ด 6๋ถํฐ ์์ํ๋ฏ๋ก, *์ ์ถ๋ ฅํ ๋ ์ฌ์ฉํ col ๋ณ์์ ๊ณต๋ฐฑ์ ์ถ๋ ฅํ ๋ ์ฌ์ฉํ space๋ณ์๋ฅผ ๋ฐ๋ก ์ ์ธํ๋ค.
๊ณต๋ฐฑ์ ๊ฐฏ์๋ 2, 4, 6, 8 ๋ ๊ฐ์ฉ ์ฆ๊ฐํ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ฅ์ ํตํด ์ถ๋ ฅํ๋ค.
for(int j=0; j<space; j++)
System.out.print(" ");
์์ชฝ for๋ฌธ์ด ๋๋ ๋๋ง๋ค col์ ๊ฐ์ 1์ฉ, space์ ๊ฐ์ 2์ฉ ์ฆ๊ฐ์์ผ์ค๋ค.
col ++;
space += 2;
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 14697๋ฒ: ๋ฐฉ ๋ฐฐ์ ํ๊ธฐ (0) | 2020.01.17 |
---|---|
[๋ฐฑ์ค] 15953๋ฒ: ์๊ธ ํํฐ (0) | 2020.01.17 |
[๋ฐฑ์ค] 2446๋ฒ: ๋ณ ์ฐ๊ธฐ - 9 (0) | 2020.01.16 |
[๋ฐฑ์ค] 10820๋ฒ: ๋ฌธ์์ด ๋ถ์ (0) | 2020.01.16 |
[๋ฐฑ์ค] 5073๋ฒ: ์ผ๊ฐํ๊ณผ ์ธ ๋ณ (0) | 2020.01.16 |
๋๊ธ