๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[inflearn ๊ฐ์] ๋น๊ณ ๊ฒ์ - ๋น๊ณ ๊ฒ์ 2 ๋ณธ๋ฌธ
๐ฉ๐ป IoT (Embedded)/C++
[inflearn ๊ฐ์] ๋น๊ณ ๊ฒ์ - ๋น๊ณ ๊ฒ์ 2
์ง์ง์ํ์นด 2023. 7. 3. 19:45728x90
๋ฐ์ํ
<๋ณธ ๋ธ๋ก๊ทธ๋ ์ด์ํธ๋ฝ ๊ฒ์์์นด๋ฐ๋ฏธ ๋์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>
=> C++ Let's Make Games
๐ซง ๋น๊ณ ๊ฒ์ 2
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
srand((unsigned int)time(0));
int iNumber[25] = {};
// 1~25 ์ซ์ ๋ฃ๊ธฐ
for (int i = 0; i < 25; i++) {
iNumber[i] = i + 1;
}
// ์ซ์ ์๊ธฐ
int iTemp, idx1, idx2;
for (int i = 0; i < 100; ++i) {
idx1 = rand() % 25;
idx2 = rand() % 25;
iTemp = iNumber[idx1];
iNumber[idx1] = iNumber[idx2];
iNumber[idx2] = iTemp;
}
int iBingo = 0;
while (true) {
system("cls");
// ์ซ์๋ฅผ 5x5 ์ถ๋ ฅ
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (iNumber[i * 5 + j] == INT_MAX) {
cout << "*\t";
}
else {
cout << iNumber[i * 5 + j] << "\t";
}
}
cout << endl;
}
cout << "Bingo Line : " << iBingo << endl;
// ์ค ์๊ฐ 5 ์ด์์ด๋ฉด ๊ฒ์ ์ข
๋ฃ
if (iBingo > 5) {
break;
}
cout << "์ซ์ ์
๋ ฅ (์ข
๋ฃ : 0) : ";
int iInput;
cin >> iInput;
if (iInput == 0) {
break;
}
else if (iInput < 1 || iInput > 25) {
continue;
}
// ์ค๋ณต ์
๋ ฅ ๋ฐฉ์ง ์ฒดํฌ
bool bAcc = true;
// ๋ชจ๋ ์ซ์๋ฅผ ์ฐจ๋ก๋๋ก ๊ฒ์ฌ
// ์
๋ ฅํ ์ซ์์ ๊ฐ์ ์ซ์๊ฐ ์๋์ง ์ฐพ๊ธฐ
for (int i = 0; i < 25; ++i) {
// ๊ฐ์ ์ซ์
if (iInput == iNumber[i]) {
// ์ซ์ ์ฐพ์์ ๊ฒฝ์ฐ ์ค๋ณต๋ ์ซ์ ์๋
bAcc = false;
// ์ซ์๋ฅผ *๋ก ๋ณ๊ฒฝํ๊ธฐ ์ํ ํน์ ๊ฐ INT_MAX
iNumber[i] = INT_MAX;
// ์ฐพ์๋ณผ ์ซ์ ์์
break;
}
}
// bAcc ๋ณ์๊ฐ true ์ผ ๊ฒฝ์ฐ ์ค๋ณต๋ ์ซ์ ์
๋ ฅํด์
// ์ซ์๋ฅผ *๋ก ๋ฐ๊พธ์ง ๋ชปํ์ผ๋ฏ๋ก ๋ค์ ์
๋ ฅ๋ฐ๊ฒ continue
if (bAcc) {
continue;
}
// ๋น๊ณ ์ค ์ ์ฒดํฌ
// ์ฒ์๋ถํฐ ์๋ก ์นด์ดํธ ํ๊ธฐ
// iBingo ๋ณ์๋ฅผ 0์ผ๋ก ๋งค๋ฒ ์ด๊ธฐํ
iBingo = 0;
// ๊ฐ๋ก, ์ธ๋ก ์ค ์
int iStar1 = 0, iStar2 = 0;
for (int i = 0; i < 5; ++i) {
// ๋ณ ๊ฐ์ 0์ผ๋ก ์ด๊ธฐํ
iStar1 = iStar2 = 0;
for (int j = 0; j < 5; ++j) {
// ๊ฐ๋ก ๋ณ ๊ฐ์
if (iNumber[i * 5 + j] == INT_MAX) {
++iStar1;
}
// ์ธ๋ก ๋ณ ๊ฐ์
if (iNumber[j * 5 + i] == INT_MAX) {
++iStar2;
}
}
// ํ์ฌ ์ค์ ๊ฐ๋ก ๋ณ ๊ฐ์๊ฐ ๋ช๊ฐ์ธ์ง iStar1์ ๋ค์ด๊ฐ
// iStar1์ด 5์ด๋ฉด ํ์ค์ด ๋ชจ๋ * ์ด๋ฏ๋ก ๋น๊ณ ์ค ์นด์ดํธ ์ฆ๊ฐ
if (iStar1 == 5) {
++iBingo;
}
if (iStar2 == 5) {
++iBingo;
}
}
// ์ผ์ชฝ -> ์๋์ชฝ ํ๋จ ๋๊ฐ์
iStar1 = 0;
for (int i = 0; i < 25; i += 6) {
if (iNumber[i] == INT_MAX) {
++iStar1;
}
}
if (iStar1 == 5) {
++iBingo;
}
// ์ค๋ฅธ์ชฝ ์๋จ -> ์ผ์ชฝ ํ๋จ ๋๊ฐ์
iStar1 = 0;
for (int i = 4; i <= 20; i += 4) {
if (iNumber[i] == INT_MAX) {
++iStar1;
}
}
if (iStar1 == 5) {
++iBingo;
}
}
return 0;
}
728x90
๋ฐ์ํ
'๐ฉโ๐ป IoT (Embedded) > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[inflearn ๊ฐ์] ๋น๊ณ ๊ฒ์ - ๋น๊ณ ๊ฒ์ AI Hard Mode (1) | 2023.07.03 |
---|---|
[inflearn ๊ฐ์] ๋น๊ณ ๊ฒ์ - ๋น๊ณ ๊ฒ์ AI Easy Mode (0) | 2023.07.03 |
[inflearn ๊ฐ์] ๋น๊ณ ๊ฒ์ - ๋น๊ณ ๊ฒ์ 1 (0) | 2023.07.03 |
[inflearn ๊ฐ์] ๊ธฐ๋ณธ ๋ฌธ๋ฒ - ์ซ์ํผ์ฆ๊ฒ์ (0) | 2023.06.30 |
[inflearn ๊ฐ์] ๊ธฐ๋ณธ ๋ฌธ๋ฒ - ์ผ๊ตฌ ๊ฒ์ (0) | 2023.06.30 |
Comments