728x90
1. 문제
https://www.acmicpc.net/problem/10709
10709번: 기상캐스터
출력은 H 행으로, 각 행에는 공백으로 구분된 W 개의 정수를 출력한다. 출력의 i 번째 행 j 번째 정수 (1 ≦ i ≦ H, 1 ≦ j ≦ W) 는, 지금부터 몇 분후에 처음으로 구역 (i, j) 에 구름이 뜨는지를 표시
www.acmicpc.net
2. 풀이
한줄한줄 입력받을 때마다 cloud를 -1로 초기화했다.
중간에 구름을 만난다면 그 구름 인덱스를 cloud에 저장한다.
구름이 아닌데 cloud가 아직 -1이라면 -1을 출력한다.
구름이 아니고 cloud가 -1이 아니라면 현재 인덱스-cloud를 출력한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class BOJ_10709_기상캐스터 {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(in.readLine());
int H = Integer.parseInt(st.nextToken());
int W = Integer.parseInt(st.nextToken());
StringBuilder sb = new StringBuilder();
int cloud;
for(int h=0;h<H;h++){
String sky = in.readLine();
cloud = -1;
for(int w=0;w<W;w++){
if(sky.charAt(w)=='c') {
sb.append("0 ");
cloud = w;
}
else if(cloud == -1) sb.append(-1).append(" ");
else sb.append(w-cloud).append(" ");
}
sb.append("\n");
}
System.out.print(sb.toString().trim());
}
}
3. 결과
'코딩테스트 > BOJ' 카테고리의 다른 글
[BOJ] 2980 도로와 신호등 - JAVA (1) | 2022.02.16 |
---|---|
[BOJ] 1074 Z - JAVA (0) | 2022.02.16 |
[BOJ] 2527 직사각형 - JAVA (0) | 2022.02.16 |
[BOJ] 2559 수열 - JAVA (0) | 2022.02.14 |
[BOJ] 2304 창고 다각형 - JAVA (0) | 2022.02.14 |
댓글