Algorithm/Baekjoon
[Algorithm/Baekjoon] ์ฟ ํค์ ์ ์ฒด ์ธก์ - 20125 (S4/JAVA)
dpdms2148
2023. 7. 7. 18:24
728x90
๐๋ฌธ์ ๋งํฌ
20125๋ฒ: ์ฟ ํค์ ์ ์ฒด ์ธก์
๐ป์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.StringBuilder;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
// 5 ≤ n ≤ 1000
int n = Integer.parseInt(br.readLine());
boolean[][] cookie = new boolean[n][n];
for(int i = 0; i < n; i++){
String subcookie = br.readLine();
for(int j = 0; j < n; j++){
if(subcookie.charAt(j) == '*'){
cookie[i][j] = true;
}else{
cookie[i][j] = false;
}
}
}
// ์ฌ์ฅ ์์น ์ฐพ๊ธฐ
int x = 0;
int y = 0;
for(int i = 1; i < n - 1; i++){
for(int j = 1; j < n - 1; j++){
if(cookie[i][j]&&cookie[i-1][j]&&cookie[i+1][j]&&cookie[i][j-1]&&cookie[i][j+1]){
x = i;
y = j;
sb.append(x+1).append(" ").append(y+1).append("\n");
break;
}
}
}
// ์ ์ฒด ๊ธธ์ด ๊ตฌํ๊ธฐ
int len = 0;
// ์ผ์ชฝ ํ
for(int i = y - 1; i >= 0; i--){
if(cookie[x][i]) len++;
else break;
}
sb.append(len+" ");
// ์ค๋ฅธ์ชฝ ํ
len = 0;
for(int i = y + 1; i < n; i++){
if(cookie[x][i]) len++;
else break;
}
sb.append(len+" ");
// ํ๋ฆฌ
len = 0;
for(int i = x + 1; i < n; i++){
if(cookie[i][y]) len++;
else break;
}
sb.append(len+" ");
x += len + 1;
len = 0;
// ์ผ์ชฝ ๋ค๋ฆฌ
for(int i = x; i < n; i++){
if(cookie[i][y-1]) len++;
else break;
}
sb.append(len+" ");
// ์ค๋ฅธ์ชฝ ๋ค๋ฆฌ
len = 0;
for(int i = x; i < n; i++){
if(cookie[i][y+1]) len++;
else break;
}
sb.append(len+" ");
System.out.println(sb);
}
}
โณํ๊ณ
- ํ๋ฆฌ ๊ธธ์ด ๊ตฌํ ๊ฐ์ ๊ฒฐ๊ณผ์ ์ ์ฅํ์ง ์์ ํ๋ฆฐ ๊ณณ์ ์ฐพ๋๋ผ ์๊ฐ์ ๋ง์ด ์ฌ์ฉํ๋ค.
- ๊ทธ๋๋ IDE ์์ด ๋๋ฒ๊น ์์ด ์ฝ๋ฉํ๋ค ๋ณด๋ ํ์๋ณด๋ค ๋ ๊ผผ๊ผผํ๊ฒ ์๊ฐํ๊ฒ ๋๋ ๊ฒ ๊ฐ๋ค.
728x90