백준 문제풀이

10798 번 : 세로읽기

하다블 2023. 4. 21. 19:34
반응형

문제는 다음과 같습니다.

https://www.acmicpc.net/problem/10798

 

10798번: 세로읽기

총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’

www.acmicpc.net

 

풀이 코드는 다음과 같습니다.

#include <iostream>
#include <string>
using namespace std;
int main()
{
	string arr[15];
	for(int i{0};i<5;i++)
	{
		cin>>arr[i];
	}
	for(int i{0};i<15;i++)
	{
		for(int j{0};j<5;j++)
		{
			if(i>=arr[j].length())
				continue;
			if(arr[j][i]=='\0')
				continue;
			else
				cout<<arr[j][i];
		}
	}
	
	return 0;
}

세로로 읽어야하기 때문에 배열을 사용할때 어떻게 선언했냐에 따라 [i][j] 인지 [j][i] 인지 잘 살펴야하며

글자수가 다른 것을 감안해야하므로 사용하는 단어가 비었는지 (NULL 확인) 체크해주어야 하고 아닌 경우는 모두 넘겨줍니다.

 

반응형