문제 : https://www.acmicpc.net/problem/2447


[알고리즘풀이]

n = 3, n = 9, n = 27일 때의 그림들을 보며 규칙을 유추할 수 있다.

1. x 와 y 좌표를 3씩 나눠가면 x % 3 == 1 && y % 3 == 1 인 순간이 나오면, *을 출력한다.

2. 1이 아니라면 공백을 출력한다.

#include<iostream>

using namespace std;

int main() { 
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);

	int n;
	cin >> n;

	for (int i = 0; i < n; i++) { 
		for (int j = 0; j < n; j++) {
			int x = i, y = j;
			bool flag = false;
			while (x) {
				if (x % 3 == 1 && y % 3 == 1) {
					flag = true;
				}
				x /= 3, y /= 3;
			}
			if (!flag)
				cout << '*';
			else
				cout << ' ';
		}
		cout << '\n';
	} 
	return 0; 
}


 

'Problem Solving > BOJ' 카테고리의 다른 글

[BOJ] 2523 : '별 찍기 - 13' travelbeeee  (0) 2019.10.26
[BOJ] 2522 : '별 찍기-12' travelbeeee  (0) 2019.10.26
[BOJ] 2446 - '별 찍기 - 9'  (0) 2019.10.26
[BOJ] 2445 - '별 찍기 - 8'  (0) 2019.10.26
[BOJ] 2444 - '별 찍기 -7'  (0) 2019.10.26

+ Recent posts