<C++> 2차원 배열

긍이·2023년 11월 25일
0

C++

목록 보기
8/12
post-thumbnail

오늘은 백준 알고리즘 7단계 2차원 배열을 풀어볼 것이다!

📌 2차원 배열

✔ 2738번 행렬 덧셈

#include <iostream>

using namespace std;

int main()
{
	int N, M;

	cin >> N >> M;

	int** Narr = new int*[N];

	for (int j = 0; j < N; j++)
	{
		Narr[j] = new int[M]{0,};
	}
	
	for (int i = 0; i < 2; i++)
	{
		for (int j = 0; j < N; j++)
		{
			for (int k = 0; k < M; k++)
			{
				int c;
				cin >> c;
				Narr[j][k] += c;
			}
		}
	}

	for (int j = 0; j < N; j++)
	{
		for (int k = 0; k < M; k++)
		{
			cout << Narr[j][k];
			cout << " ";
		}
		cout << "\n";
	}
}

2 2
100 100
0 0
200 200
123 123
300 300
123 123

✔ 2566번 최댓값

#include <iostream>

using namespace std;

int main()
{
	int arr[9][9]{0,};

	int max = 0;
	int maxi = 0;
	int maxj = 0;

	for (int i = 0; i < 9; i++)
	{
		for (int j = 0; j < 9; j++)
		{
			int c;
			cin >> c;
			arr[i][j] = c;

			if (max <= c)
			{
				max = c;
				maxi = i;
				maxj = j;
			}
		}
	}

	cout << max << "\n" << maxi+1 << " " << maxj+1;
}

1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 10
3 4 5 6 7 8 9 10 11
4 5 6 7 8 9 10 11 12
5 6 7 8 9 10 11 12 13
6 7 8 9 10 11 12 13 14
7 8 9 10 11 12 13 14 15
8 9 10 11 12 13 14 15 16
9 10 11 12 13 14 15 16 17
17
9 9

✔ 10798번 세로읽기

#include <iostream>

using namespace std;

int main()
{

	char* sarr[5];
	int max=0;
	int maxcount[5];

	for (int i = 0; i < 5; i++)
	{
		string s;
		cin >> s;
		sarr[i] = new char[s.length()];
		maxcount[i] = s.length();
		if (max <= maxcount[i]) max = maxcount[i];
		for (int j = 0; j < s.length(); j++)
		{
			sarr[i][j] = s[j];
		}
	}

	for (int i = 0; i < max; i++)
	{
		for (int j = 0; j < 5; j++)
		{
			if (i < maxcount[j])
			{
				cout << sarr[j][i];
			}
		}
	}

}

aaaaa
bbbbb
ccccc
01234
abc0123
abc0aabc1babc2cabc30abc4123

✔ 2563번 색종이

#include <iostream>


using namespace std;
int main()
{
	int c;
	cin >> c;

	int check[100][100]{0,};

	int count = 0;
	for (int i = 0; i < c; i++)
	{
		int x, y;
		cin >> x >> y;
		for (int j = x; j < x+10; j++)
		{
			if (j < 100)
			{
				for (int k = y; k < y + 10; k++)
				{
					if (k < 100)
					{
						if (check[j][k] == 0)
						{
							check[j][k] = 1;
							count++;
						}
					}
				}
			}
		}
	}
	cout << count;
}

3
5 5
10 10
0 0
250

0개의 댓글

관련 채용 정보