๐ป
[๋ฐฑ์ค] ์ฌ๊ท - 2447. ๋ณ ์ฐ๊ธฐ - 10 ๋ณธ๋ฌธ
[๋ฐฑ์ค] ์ฌ๊ท - 2447. ๋ณ ์ฐ๊ธฐ - 10
๋ํจ๋ 2020. 2. 2. 15:31๋ฌธ์
์์ ๋ฅผ ๋ณด๊ณ ๊ท์น์ ์ ์ถํ ๋ค์ ๋ณ์ ์ฐ์ด ๋ณด์ธ์.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. N์ ํญ์ 3์ ์ ๊ณฑ๊ผด์ธ ์์ด๋ค. (3, 9, 27, ...) (N=3k, 1 ≤ k < 8)
์ถ๋ ฅ
์ฒซ์งธ ์ค๋ถํฐ N๋ฒ์งธ ์ค๊น์ง ๋ณ์ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ1
27
์์ ์ถ๋ ฅ1
์๊ฐ
๊ท์น์ ์ฐพ๋ ๋ฌธ์ ์๋๋ฐ, ์ฒ์์ ์์ฑํ๋ ์ฝ๋๋ก๋ ์์ ๋น์ด์ง๋ ์นธ์ด ์ธ๋ฑ์ค๊ฐ ๋๋ค ์ง์์ผ๋, ๊ทธ๋ฆฌ๊ณ (n/3)< ์ธ๋ฑ์ค <= n-(n/3) ์ผ๋ ๋น์นธ์ด๋ผ๊ณ ๊ท์น์ ์๊ฐํ๋ค. ๊ทผ๋ฐ ์ํ๋ ๋ชจ์์ด ์๋์์ ๋ค์ ์๊ฐํด๋ณด๊ธฐ๋ก ํ๋ค. ๊ณ ๋ฑ ์ํ๋ ์ด์ฌํ ํ์๋ 3์ ์ง๋ฆฌ ํ๋ ํ ๋ฌธ์ ๊ฐ ์๊ฐ์ด ๋๋ฉด์ ์ ์ ์ถ์ต์ ํ์ํ๋ค.
์๊ฒ ์๊ฒ ์ชผ๊ฐ์ n=3์ผ๋ ๋ถํฐ ์๊ฐํ๋ค.
n=3 ์ผ๋, Star(0,0,3) ํธ์ถ
Star(0,0,1) -> [0][0] = ' * '
Star(0,1,1) -> [0][1] = ' * '
Star(0,2,1) -> [0][2] = ' * '
-------------------------------- ์ฒซ์งธ์ค ***์์ฑ
Star(1,0,1) -> [1][0] = ' * '
Star(1,1,1) ->
Star(1,2,1) -> [1][2] = ' * '
-------------------------------- ๋์งธ์ค * * ์์ฑ
Star(2,0,1) -> [2][0] = ' * '
Star(2,1,1) -> [2][1] = ' * '
Star(2,2,1) -> [2][2] = ' * '
-------------------------------- ์ ์งธ์ค ***์์ฑ
๊ท์น์ ์ฐพ์ผ๋ฉด ์ด๋ ต์ง๋ ์์ ๋ฌธ์ ์ธ๋ฐ ๊ทธ ๊ท์น์ ๊ตฌํํ ๋ ์๊ฐ์ด ํ์ํ ๋ฌธ์ ์๋ค.
์์ฑํ ์ฝ๋
#include <iostream>
using namespace std;
int n;
char arr[6560][6560];
void Star(int x, int y, int number){
if(number == 1){
arr[x][y] = '*';
return;
}
int div = number/3;
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
if(i==1 && j==1){
continue;
}
Star(x+(div*i),y+(div*j), div);
}
}
}
int main(int argc, const char * argv[]) {
// insert code here...
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n;
for (int i = 0; i < 6560; i++) {
for (int j = 0; j < 6560; j++) {
arr[i][j]=' ';
}
}
Star(0,0,n);
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
printf("%c",arr[i][j]);
}
printf("\n");
}
return 0;
}
'์๊ณ ๋ฆฌ์ฆ > ๋ฌธ์ ํ์ด Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] ๋์ ๊ณํ๋ฒ - 1904. 01ํ์ผ (0) | 2020.02.12 |
---|---|
[๋ฐฑ์ค] ์ด๋ถ ํ์ - 1920. ์ ์ฐพ๊ธฐ (0) | 2020.02.04 |
[๋ฐฑ์ค] ๋ฐฑํธ๋ํน - 6603. ๋ก๋ (0) | 2020.02.03 |
[๋ฐฑ์ค] ๋ธ๋ฃจํธํฌ์ค - 2231. ๋ถํดํฉ (0) | 2020.02.01 |
[๋ฐฑ์ค] ํ,๋ฑ - 18258. ํ 2 (0) | 2020.01.31 |