728x90
https://www.acmicpc.net/problem/10709
10709번: 기상캐스터
출력은 H 행으로, 각 행에는 공백으로 구분된 W 개의 정수를 출력한다. 출력의 i 번째 행 j 번째 정수 (1 ≦ i ≦ H, 1 ≦ j ≦ W) 는, 지금부터 몇 분후에 처음으로 구역 (i, j) 에 구름이 뜨는지를 표시
www.acmicpc.net
import java.util.*;
import java.io.*;
public class Main {
static int H, W;
static int[][] answer;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
H = Integer.parseInt(st.nextToken());
W = Integer.parseInt(st.nextToken());
answer = new int[H][W];
// answer을 -1로 초기화
for (int i = 0; i < H; i++) {
for (int j = 0; j < W; j++) {
answer[i][j] = -1;
}
}
for (int i = 0; i < H; i++) {
char[] arr = br.readLine().toCharArray();
for (int j = 0; j < W; j++) {
// 현재 위치가 구름이면 구름 카운트를 초기화하고
// 더 빠른 시간으로 들어가게 설계
if (arr[j] == 'c') {
int count = 0;
for (int k = j; k < W; k++) {
answer[i][k] = count;
count++;
}
}
}
}
for (int i = 0; i < H; i++) {
StringBuilder sb = new StringBuilder();
for (int j = 0; j < W; j++) {
sb.append(answer[i][j] + " ");
}
System.out.println(sb);
}
}
}
회고
- 구현문제에 엄청 약하다는 것을 알게되었다.
- 방법도 생각이 안났고 쉽지 않았다.
- 구현 문제를 자주 풀어야겠다.
'Algorithm Study > BaekJoon (JAVA)' 카테고리의 다른 글
백준 8911_거북이_JAVA (1) | 2024.04.18 |
---|---|
백준 2578_빙고_JAVA (0) | 2024.04.18 |
백준 2167_ 2차원 배열의 합_JAVA (0) | 2024.04.15 |
백준 14467_소가 길을 건나간 이유 1_JAVA (0) | 2024.04.15 |
백준 2979_트럭 주차_JAVA (0) | 2024.04.15 |