문제 : https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do
코드 :
#include <iostream>
using namespace std;
int num[9][9] = { 0 };
bool solution()
{
//가로행 탐색
for (int i = 0; i < 9; i++)
{
bool check[10] = { false };
for (int j = 0; j < 9; j++)
{
if (check[num[i][j]])
{
return false;
}
check[num[i][j]] = true;
}
}
//세로행 탐색
for (int j = 0; j < 9; j++)
{
bool check[10] = { false };
for (int i = 0; i < 9; i++)
{
if (check[num[i][j]])
{
return false;
}
check[num[i][j]] = true;
}
}
// 3*3 묶음 탐색
for (int k = 0; k < 9; k += 3)
{
bool check[10] = { false };
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
if (check[num[k + i][k + j]])
{
return false;
}
check[num[k + i][k + j]] = true;
}
}
}
return true;
}
int main()
{
int T;
cin >> T;
int c = 0;
while (c < T)
{
for (int i = 0; i < 9; i++)
{
for (int j = 0; j < 9; j++)
{
cin >> num[i][j];
}
}
int v = solution();
c++;
cout << "#" << c << " " << v << "\n";
}
return 0;
}
'algorithm > SW Expert Academy' 카테고리의 다른 글
단순 2진 암호코드 - 1240 (0) | 2020.01.11 |
---|---|
[2차원 배열 연습 문제] 달팽이 숫자 - 1954 (0) | 2020.01.08 |
[1차원 배열 연습 문제] View - 1206 (0) | 2020.01.08 |
[1차원 배열 연습 문제] 최빈수 구하기 - 1204 (0) | 2020.01.08 |
[모의 SW 역량테스트] 디저트 카페 - 2105 (0) | 2020.01.07 |
댓글