가로 또는 세로로 연속되어있는 문자열 체크
// for문 내부
string s = "";
if (str[j][i] == '#') {
// 단어는 2개 이상의 문자로 이루어져야함
if (s.length() > 1)v.push_back(s);
s = "";
}
else {
s.push_back(str[j][i]);
}
// for문 종료......
// #이 없었거나 마지막으로 생성된 문자열을 위한 if문
if (s.length() > 1)v.push_back(s);
간단한 조건문으로 해결 하였다
#include<bits/stdc++.h>
using namespace std;
char str[25][25];
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int r, c; cin >> r >> c;
vector<string> v;
// 문자열 입력 + 가로 문자열 체크
for (int i = 0; i < r; i++) {
string s = "";
for (int j = 0; j < c; j++) {
cin >> str[i][j];
if (str[i][j] == '#') {
if (s.length() > 1)v.push_back(s);
s = "";
}
else {
s.push_back(str[i][j]);
}
}
if (s.length() > 1)v.push_back(s);
}
// 세로 문자열 체크
for (int i = 0; i < c; i++) {
string s = "";
for (int j = 0; j < r; j++) {
if (str[j][i] == '#') {
if (s.length() > 1)v.push_back(s);
s = "";
}
else {
s.push_back(str[j][i]);
}
}
if (s.length() > 1)v.push_back(s);
}
sort(v.begin(), v.end());
cout << v[0] << '\n';
return 0;
}