728x90
#include <iostream>
using namespace std;
char a[5][16]; //1)
int main(){
for(int i=0; i<5; i++) //2)
cin>>a[i];
for(int k=0; k<15; k++) //3)
{
for(int i=0; i<5; i++) //4)
{
if(a[i][k] != '\0') //5)
cout<<a[i][k];
}
}
}
1) 5개의 문자열을 위한 배열 선언
ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ <-이걸 다섯줄 만들음.
2) 문자열 다섯개를 입력 받는다.
3) 문자의 최대 길이는 15이므로 14번 방까지 반복한다.
- ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ ㅁ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 (x)
이 순서로 비교를 하는 것이 아니므로 이 반복문이 바깥쪽에 위치하는 것임.
1 | 6 | 11 | ... | ||||||
2 | 7 | 12 | ... | ||||||
3 | 8 | 13 | ... | ||||||
4 | 9 | 14 | ... | ||||||
5 | 10 | 15 | ... |
위 표의 방향으로 비교를 해야한다.
4) 문자열의 개수는 5개이므로 4번 방까지 반복.
5) 문자 배열의 방에는 기본적으로 '\0'이 들어있다. 그러므로 '\0'이 아니라면 내가 문자를 집어넣었다는 것이다.
(그리고 배열을 전역변수로 선언하지 않을 시 이상한 문자가 들어가서 출력할 때 갑자기 내가 입력하지 않은 문자가 튀어나올 수 있다. 내가 그랬다. ㅠㅠ)
728x90
'알고리즘 > 문제' 카테고리의 다른 글
[백준] 4344. 평균은 넘겠지 <C++> (0) | 2020.04.17 |
---|---|
[백준] 17608. 막대기 <C++> (0) | 2020.04.16 |
[백준] 1157. 단어 공부 <C++> (0) | 2020.04.15 |
[백준] 14563. 완전수 <C++> (0) | 2020.04.14 |
[백준] 10804. 카드 역배치 <C++> (0) | 2020.04.14 |
댓글