이 문제에서는 문자열과 정수 n이 제공됩니다. 우리의 임무는 주어진 문자열을 파동 패턴으로 인쇄하는 것입니다. n줄 중
문제를 이해하기 위해 예를 들어보겠습니다.
Input: Tutorial n = 3 Output: T r U o i s t l
웨이브 패턴은 문자열의 각 문자를 다음 줄에 하나씩 인쇄하고 다음 요소에서 n 번째 줄까지 탭 공백을 인쇄하여 인쇄합니다. 그리고 인쇄 탭은 첫 번째 줄까지 위쪽 줄에 공백을 표시하고 문자열에 문자가 포함될 때까지 동일한 패턴을 따릅니다.
예시
아래 코드는 우리 솔루션의 구현을 제공합니다.
#include<bits/stdc++.h> using namespace std; void printWavePattern(string s, int n) { if (n==1) { cout<<s; return; } int len=s.length(); char a[len][len]={ }; int row=0; bool down; for (int i=0; i<len; i++) { a[row][i]=s[i]; if (row==n-1) down=false; else if (row==0) down=true; (down)?(row++):(row--); } for (int i=0; i<n; i++) { for (int j=0; j<len; j++) { cout<<a[i][j]<<" "; } cout<<endl; } } int main() { string str = "TutorialsPoint"; int n = 4; cout<<n<<" Line wave pattern '"<<str<<"' is:\n"; printWavePattern(str, n); }
출력
4 Line wave pattern 'TutorialsPoint' is − T a n u i l i t t r s o o P