[알고리즘] 10709번: 기상캐스트
2023. 9. 10. 20:45ㆍAlgorithm/with C++
0. 문제
1. 문제 이해
0
: 처음에‘c’
인 경우1 ~ 99
: 처음은‘.’
이지만 시간이 지나면서 구름이 뜨는 경우 → 처음은‘.’
이고 왼쪽에‘c’
가 있음.-1
: 처음은‘.’
이지만 시간이 지나도 구름이 뜨지 않음 → 처음은‘.’
이고 왼쪽에‘c’
가 없음.H*W크기의 배열에 입력값을 저장하고[0][0]
에서부터 순회하면서 처리한다.‘.’
에 대한 각 행의 기본값은-1
이다.‘c’
를 만나면 그곳은0
으로 처리하고recent=j
로 설정한다.- 앞으로
‘.’
에 대한 값은recent-j
다. - 모든 행에 대하여 반복한다.
2. 제출
//백준 10709번: 기상캐스터
#include <iostream>
#define MAXHW 100
using namespace std;
int H, W, ret[MAXHW][MAXHW];
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> H >> W;
for(int i=0; i<H; i++){
bool isClody = false;
int cnt = 0;
for(int j=0; j<W; j++){
char input; cin >> input;
cnt++;
if(input == 'c'){
ret[i][j]=0;
isClody=true;
cnt=0;
}else if(isClody){
ret[i][j]=cnt;
}else{
ret[i][j]=-1;
}
}
}
for(int i=0; i<H; i++){
for(int j=0; j<W; j++){
cout << ret[i][j] << " ";
}
cout <<"\n";
}
return 0;
}
'Algorithm > with C++' 카테고리의 다른 글
[알고리즘] 2852번: NBA 농구 (0) | 2023.09.16 |
---|---|
[알고리즘] 3474번: 교수가 된 현우 (0) | 2023.09.16 |
[알고리즘] 2870번: 수학숙제 (0) | 2023.09.06 |
[알고리즘] 4659번: 비밀번호 발음하기 (0) | 2023.09.05 |
[알고리즘] 2828번: 사과 담기 게임 (0) | 2023.09.05 |