SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
구현력을 올리기 위해 쉬운 문제부터 풀고 있다.
배열을 90도, 180도, 270도 회전해서 출력해주면 된다.
나는 90, 180, 270을 한 행에 전부 써주고 출력하고 다시 써주고 출력하고를 반복했다.
#include <bits/stdc++.h>
using namespace std;
string s;
int ar[8][8], n;
string f1(int cur) {
string ret;
for (int i = n - 1; i >= 0; --i) {
ret += to_string(ar[i][cur]);
}
return ret;
}
string f2(int cur) {
string ret;
cur = n - cur - 1;
for (int i = n - 1; i >= 0; --i) {
ret += to_string(ar[cur][i]);
}
return ret;
}
string f3(int cur) {
string ret;
cur = n - cur - 1;
for (int i = 0; i < n; ++i) {
ret += to_string(ar[i][cur]);
}
return ret;
}
int main() {
//ios::sync_with_stdio(false); cin.tie(0);
int TC;
cin >> TC;
for (int tc = 1; tc <= TC; ++tc) {
cin >> n;
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
cin >> ar[i][j];
cout << '#' << tc << '\n';
for (int j = 0; j < n; ++j) {
s = "";
s += f1(j);
s += ' ';
s += f2(j);
s += ' ';
s += f3(j);
cout << s << '\n';
}
}
return 0;
}
f1은 90도 회전, f2는 180도 회전, f3은 270도 회전 함수이다. C++에서는 문자열 합치기가 굉장히 쉬워서 쉽게 풀었던 것 같다.
'SWEA' 카테고리의 다른 글
SWEA 1974 스도쿠 검증 (0) | 2020.10.29 |
---|---|
SWEA 1859 백만 장자 프로젝트 (0) | 2020.10.28 |