728x90
시간 제한 : 1초
메모리 제한 : 128MB
입력
첫째 줄에 테스트 케이스의 개수가 주어진다. 테스트 케이스의 수는 최대 100개이다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 암호화된 편지가 주어진다. 편지는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 1보다 크거나 같고, 10,000보다 작거나 같으며, 항상 제곱수이다.
출력
각 테스트 케이스마다 원래 메시지를 출력한다.
소스코드
#include <iostream> #include <string> #include <math.h> using namespace std; int main(void) { int t, len, size; char arr[100][100]; cin >> t; while (t--) { string s; cin >> s; len = s.length(); size = sqrt(len); for (int i = 0; i < size; i++) for (int j = 0; j < size; j++) arr[i][j] = (char)s[size*i + j]; for (int i = 0; i < size; i++) for (int j = 0; j < size; j++) cout << arr[j][size - i - 1]; cout << '\n'; } }
Tip
배열과 반복문 활용에 초점을 두고 풀어나가면 쉽게 풀 수 있다. 이중 배열 활용에 초점을 두자.
728x90
'Computer Science > Algorithm Problem' 카테고리의 다른 글
백준] 3135 - 라디오 (0) | 2017.12.28 |
---|---|
백준] 9437 - 사라진 페이지 찾기(ACM-ICPC Regional) (0) | 2017.12.27 |
백준] 6321 - IBM 빼기 1(ACM-ICPC Regional) (0) | 2017.12.24 |
백준] 1758 - 알바생 강호 (0) | 2017.12.22 |
백준] 2991 - 사나운 개(COCI 2007/2008) (0) | 2017.12.18 |