01-08 08:57
Recent Posts
Recent Comments
Tags
- API๋ง์ผํ๋ ์ด์ค
- SQL
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- Naver Cloud
- linux
- ํ์ด์
- API MarketPlace ๊ธ๋ก๋ฒ ์ํฌํฐ์ฆ
- ํ์ด์๊ณต๋ชจ์
- Spring
- TSQL
- DATABASE
- ICT
- ์คํฝ์ค๋น
- ์กํ๊ณ
- ํ๋ก๋ณด๋ ธ
- JOBํ๊ณ
- ํ์ด์ฌ
- ์จ์ผ๋ํ
- RaspberryPi
- ์ด๋ธ์
- ์คํฝ๋ ํ
- mysql
- appetizer
- ์๋ฐ
- ict๊ณต๋ชจ์
- Java
- ์๋์ด๋ ธ
- ICT๋ฉํ ๋ง
- python
- DB
- Today
- Total
miinsun
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ฆฌ๋ 10709 :: ๊ธฐ์์บ์คํฐ ๋ณธ๋ฌธ
๐ฌ ๋ฌธ์ ์ค๋ช
JOI์๋ ๋จ๋ถ๋ฐฉํฅ์ด H ํฌ๋ก๋ฏธํฐ, ๋์๋ฐฉํฅ์ด W ํฌ๋ก๋ฏธํฐ์ธ ์ง์ฌ๊ฐํ ๋ชจ์์ด๋ค.
JOI์๋ ๊ฐ๋ก์ ์ธ๋ก์ ๊ธธ์ด๊ฐ 1ํฌ๋ก๋ฏธํฐ์ธ H × W ๊ฐ์ ์์ ๊ตฌ์ญ๋ค๋ก ๋๋์ด ์๋ค. ๋ถ์ชฝ์ผ๋ก๋ถํฐ i ๋ฒ์งธ, ์์ชฝ์ผ๋ก๋ถํฐ j ๋ฒ์งธ์ ์๋ ๊ตฌ์ญ์ (i, j) ๋ก ํ์ํ๋ค.
๊ฐ ๊ตฌ์ญ์ ํ๋์๋ ๊ตฌ๋ฆ์ด ์์ ์๋, ์์ ์๋ ์๋ค. ๋ชจ๋ ๊ตฌ๋ฆ์ 1๋ถ์ด ์ง๋ ๋๋ง๋ค 1ํฌ๋ก๋ฏธํฐ์ฉ ๋์ชฝ์ผ๋ก ์ด๋ํ๋ค. ์ค๋์ ๋ ์จ๊ฐ ์ ๋ง ์ข๊ธฐ ๋๋ฌธ์ JOI์์ ์ธ๋ถ์์ ๊ตฌ๋ฆ์ด ์ด๋ํด ์ค๋ ๊ฒฝ์ฐ๋ ์๋ค.
์ง๊ธ ๊ฐ ๊ตฌ์ญ์ ํ๋์ ๊ตฌ๋ฆ์ด ์๋์ง ์๋์ง๋ฅผ ์๊ณ ์๋ค. ๊ธฐ์์ฒญ์์ ์ผํ๊ณ ์๋ ์ฌ๋ฌ๋ถ์ ๊ฐ ๊ตฌ์ญ์ ๋ํด์ ์ง๊ธ๋ถํฐ ๋ช ๋ถ๋ค ์ฒ์์ผ๋ก ํ๋์ ๊ตฌ๋ฆ์ด ์ค๋์ง๋ฅผ ์์ธกํ๋ ์ผ์ ๋งก์๋ค.
๊ฐ ๊ตฌ์ญ์ ๋ํด์ ์ง๊ธ๋ถํฐ ๋ช ๋ถ๋ค ์ฒ์์ผ๋ก ํ๋์ ๊ตฌ๋ฆ์ด ์ค๋์ง๋ฅผ ๊ตฌํ์ฌ๋ผ.
๐จ ์ ์ถ๋ ฅ ์
์ ๋ ฅ
- ์ ๋ ฅ์ 1 + H ํ์ผ๋ก ์ฃผ์ด์ง๋ค.
- ์ฒซ ๋ฒ์งธ ํ์๋ ์ ์ H, W (1 โฆ H โฆ 100, 1 โฆ W โฆ 100) ๊ฐ ๊ณต๋ฐฑ์ ์ฌ์ด์ ์ฃผ๊ณ ์ฃผ์ด์ง๋ค.
- ์ด๊ฒ์ JOI์๊ฐ H × W ๊ฐ์ ์์ ๊ตฌ์ญ์ผ๋ก ๋๋์ด ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ์ด์ด์ง H ๊ฐ์ ํ์ i๋ฒ์งธ ํ (1 โฆ i โฆ H) ์๋ W๋ฌธ์์ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค.
- W ๊ฐ์ ๋ฌธ์ ์ค j๋ฒ์งธ ๋ฌธ์ (1 โฆ j โฆ W) ๋, ๊ตฌ์ญ (i, j) ์ ์ง๊ธ ๊ตฌ๋ฆ์ด ๋ ์๋์ง ์๋์ง๋ฅผ ๋ํ๋ธ๋ค.
- ๊ตฌ๋ฆ์ด ์๋ ๊ฒฝ์ฐ์๋ ์์ด ์๋ฌธ์ 'c' ๊ฐ, ๊ตฌ๋ฆ์ด ์๋ ๊ฒฝ์ฐ์๋ ๋ฌธ์ '.' ๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
- ์ถ๋ ฅ์ H ํ์ผ๋ก, ๊ฐ ํ์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ W ๊ฐ์ ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
- ์ถ๋ ฅ์ i ๋ฒ์งธ ํ j ๋ฒ์งธ ์ ์ (1 โฆ i โฆ H, 1 โฆ j โฆ W) ๋, ์ง๊ธ๋ถํฐ ๋ช ๋ถํ์ ์ฒ์์ผ๋ก ๊ตฌ์ญ (i, j) ์ ๊ตฌ๋ฆ์ด ๋จ๋์ง๋ฅผ ํ์ํ๋ค.
- ๋จ, ์ฒ์๋ถํฐ ๊ตฌ์ญ (i, j) ์ ๊ตฌ๋ฆ์ด ๋ ์์๋ ๊ฒฝ์ฐ์๋ 0์, ๋ช ๋ถ์ด ์ง๋๋ ๊ตฌ๋ฆ์ด ๋จ์ง ์์ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1)
3 4
c..c
..c.
....
์์ ์ถ๋ ฅ 1)
0 1 2 0
-1 -1 0 1
-1 -1 -1 -1
์์ ์ ๋ ฅ 2)
6 8
.c......
........
.ccc..c.
....c...
..c.cc..
....c...
์์ ์ถ๋ ฅ 2)
-1 0 1 2 3 4 5 6
-1 -1 -1 -1 -1 -1 -1 -1
-1 0 0 0 1 2 0 1
-1 -1 -1 -1 0 1 2 3
-1 -1 0 1 0 0 1 2
-1 -1 -1 -1 0 1 2 3
โ
โ
๐ป Main.java
/* ๋ฐฑ์ค ๊ทธ๋ฆฌ๋ - 10709 :: ๊ธฐ์์บ์คํฐ */
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int h = sc.nextInt(); // ์ง์ญ์ ๋์ด
int w = sc.nextInt(); // ์ง์ญ์ ๋์ด
char[][] board = new char[h][w];
int[][] answer = new int[h][w]; // ์ ๋ต ์ ์ฅ ๋ฐฐ์ด
// answer๋ฐฐ์ด -1๋ก ์ฑ์ฐ๊ธฐ
for(int[] tmp : answer) {
Arrays.fill(tmp, -1);
}
// ์ง์ญ ๋ ์จ ์ ๋ณด ์
๋ ฅ
for(int i = 0; i < h; i++) {
String s = sc.next();
for(int j = 0; j < w; j++) {
board[i][j] = s.charAt(j);
if(board[i][j] == 'c')
answer[i][j] = 0;
}
}
// ๊ตฌ๋ฆ์ ์ง๋๊ฐ๋๋ง๋ค answer++
for(int i = 0; i < h; i++) {
for(int j = 1; j < w; j++) {
if(answer[i][j - 1] != -1 && answer[i][j] != 0) {
answer[i][j] = answer[i][j - 1] + 1;
}
}
}
// ์ ๋ต ์ถ๋ ฅ
for(int i = 0; i < h; i++) {
for(int j = 0; j < w; j++) {
System.out.print(answer[i][j] + " ");
}
System.out.println();
}
sc.close();
}
}
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON] ๋ฐฑ์ค BFS 2636 :: ์น์ฆ (0) | 2022.06.15 |
---|---|
[BAEKJOON] ๋ฐฑ์ค BFS 2589 :: ๋ณด๋ฌผ์ฌ (0) | 2022.06.15 |
[BAEKJOON] ๋ฐฑ์ค ๊ทธ๋ฆฌ๋ 2828 :: ์ฌ๊ณผ ๋ด๊ธฐ ๊ฒ์ (0) | 2022.06.13 |
[BAEKJOON] ๋ฐฑ์ค BFS 2468 :: ์์ ์์ญ (0) | 2022.06.12 |
[BAEKJOON] ๋ฐฑ์ค ๊ตฌํ 9996 :: ํ๊ตญ์ด ๊ทธ๋ฆฌ์ธ ๋ ์๋ฒ์ ์ ์ํ์ง (0) | 2022.06.10 |
Comments