ํฌ๋ก์ค์๋ ํผ์ฆ์ R*Cํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ ์นธ์ ๋น์ด์๊ฑฐ๋ ๋งํ์๋ค. ํผ์ฆ์ ๊ฐ๋ก(์ผ์ชฝ->์ค๋ฅธ์ชฝ) ๋๋ ์ธ๋ก(์->์๋)๋ก ์ฐ์๋ ๋น ์นธ์ ๋จ์ด๋ฅผ ์ฑ์ฐ๋ฉด์ ํผ๋ค.
๋ํ์ด๋ ํฌ๋ก์ค์๋ ํผ์ฆ์ ํ์ง ์๋๋ค. ๊ทธ๋ ํ๋ ค์๋ ํผ์ฆ์ ์ณ๋ค๋ณธ๋ค. ๊ทธ๋ฐ ํ์, ๊ทธ๋ ๊ทธ ํผ์ฆ์์ ์ฌ์ ์์ผ๋ก ์ ์ผ ์์๋ ๋จ์ด๋ฅผ ์ฐพ๋๋ค. (๋จ์ด๋ ์ ์ด๋ 2๊ธ์์ด๋ค.)
ํฌ๋ก์ค์๋ ํผ์ฆ์ด ์ฃผ์ด์ก์ ๋, ์ฌ์ ์์ผ๋ก ์ ์ผ ์์๋ ๋จ์ด๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ R๊ณผ C (2 โค R, C โค 20)๊ฐ ์ฃผ์ด์ง๋ค. R๋ ํ์ ๊ฐ์, C๋ ์ด์ ๊ฐ์์ด๋ค. ๊ทธ ๋ค์ R๊ฐ์ ์ค์ C๊ฐ์ ๋ฌธ์๊ฐ ํฌํจ๋์ด ์๋ค. ๊ฐ ๋ฌธ์๋ ์์ด ์ํ๋ฒณ ์๋ฌธ์ ๋๋ '#'์ด๋ฉฐ, '#'์ธ ๊ฒฝ์ฐ์๋ ๋งํ์๋ ๊ฒ์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ฌ์ ์์ผ๋ก ์ ์ผ ์์๋ ๋จ์ด๋ฅผ ์ถ๋ ฅํ๋ค. ์ ๋ต์ด ํญ์ ์กด์ฌํ๋ ๊ฒฝ์ฐ๋ง ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ค.
๐ก ๊ฐ๋ก(์ผ์ชฝโ์ค๋ฅธ์ชฝ)๋ก 2๊ธ์ ์ด์์ธ ๋จ์ด๋ฅผ ์ฐพ์ list์ ์ ์ฅ
๐ก ์ธ๋ก(์โ์๋)๋ก 2๊ธ์ ์ด์์ธ ๋จ์ด๋ฅผ ์ฐพ์ list์ ์ ์ฅ
๐ก ๋จ์ด๋ฅผ ๋ด์ list๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ฐฐ์ดํ๊ณ ์ฒซ๋ฒ์งธ ๋จ์ด๋ฅผ ์ถ๋ ฅ
for(int i=0; i<r; i++) {
String tmp = "";
length = 0;
for(int j=0; j<c; j++) {
if(cross[i][j].equals("#")) {
if(length >= 2) {
list.add(tmp);
}
length = 0;
tmp = "";
} else {
tmp += cross[i][j];
length++;
}
}
if(tmp.length() >= 2)
list.add(tmp);
}
for(int i=0; i<c; i++) {
String tmp = "";
length = 0;
for(int j=0; j<r; j++) {
if(cross[j][i].equals("#")) {
if(length >= 2) {
list.add(tmp);
}
length = 0;
tmp = "";
} else {
tmp += cross[j][i];
length++;
}
}
if(tmp.length() >= 2)
list.add(tmp);
}
Collections.sort(list);
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
public class Imple_12 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] s = br.readLine().split(" ");
int r = Integer.parseInt(s[0]);
int c = Integer.parseInt(s[1]);
String [][] cross = new String[r][c];
ArrayList<String> list = new ArrayList<String>();
for(int i=0; i<r; i++) {
s = br.readLine().split("");
for(int j=0; j<c; j++) {
cross[i][j] = s[j];
}
}
int length = 0;
for(int i=0; i<r; i++) {
String tmp = "";
length = 0;
for(int j=0; j<c; j++) {
if(cross[i][j].equals("#")) {
if(length >= 2) {
list.add(tmp);
}
length = 0;
tmp = "";
} else {
tmp += cross[i][j];
length++;
}
}
if(tmp.length() >= 2)
list.add(tmp);
}
for(int i=0; i<c; i++) {
String tmp = "";
length = 0;
for(int j=0; j<r; j++) {
if(cross[j][i].equals("#")) {
if(length >= 2) {
list.add(tmp);
}
length = 0;
tmp = "";
} else {
tmp += cross[j][i];
length++;
}
}
if(tmp.length() >= 2)
list.add(tmp);
}
Collections.sort(list);
System.out.println(list.get(0));
}
}
์ฑ๊ณตโจ