반응형
https://swexpertacademy.com/main/main.do
1. 해결방법
먼저 100x100 배열을 세로로 돌며 위에서 아래로 돌 때는 2인 경우는 값을 0으로 1인 경우는 break 하는 포문을 반대로 아래서 위로 돌 때는 1인 경우는 값을 0으로 2인 경우는 break 하게 한다 이후 다시 정의된 배열의 개수를 세는 방식으로 코딩하였다
2. 코드
#include<iostream>
#include<string.h>
int array[100][100];
int sum = 0;
int test_case;
int T;
using namespace std;
void check(){
for(int i = 0; i < T; i++){
for(int j = 0; j < T; j++){
if(array[j][i] == 2){
array[j][i] = 0;
} else if(array[j][i] == 1){
break;
}
}
}
for(int i = T-1; i >= 0; i--){
for(int j = T-1; j >= 0; j--){
if(array[j][i] == 1){
array[j][i] = 0;
} else if(array[j][i] == 2){
break;
}
}
}
}
void count(){
sum = 0;
for(int i = 0; i < T; i++){
int check = 0;
for(int j = 0; j < T; j++){
if(array[j][i] == 1){
check = 1;
}else if(array[j][i] ==2 && check == 1){
check = 0;
sum++;
}
}
}
}
int main(int argc, char** argv)
{
for(int test_case = 1; test_case <= 10; test_case++){
cin>>T;
memset(array, 0, 100);
for(int i = 0; i < T; i++){
for(int j = 0; j < T; j++){
cin >> array[i][j];
}
}
check();
count();
cout << "#"<<test_case<< " " << sum << endl;
}
return 0;
}
반응형
'코딩테스트 > SW expert' 카테고리의 다른 글
[SW Expert] #4408. 자기 방으로 돌아가기 (0) | 2020.02.17 |
---|---|
[SW Expert] #1486. 장훈이의 높은 선반 (0) | 2020.02.04 |
[SW Expert] #1860 진기의 최고급 붕어빵 (0) | 2020.01.30 |
[SW Expert] #1868 파핑파핑 지뢰찾기 (0) | 2020.01.22 |
[SW Expert] #2814 최장 경로 (0) | 2019.12.31 |