문제설명
입출력 예제
개념
실버 단계에 랭크되어 있지만, 문제만 제대로 이해한다면 브론즈 단계의 문제다. 고유 번호를 합쳤을 때, 갑옷을 만드는 데 필요한 수를 확인하면 간단하게 해결할 수 있는 문제다.
풀이
#include <iostream>
using namespace std;
int main()
{
int N, M, cnt = 0;
int ary[150001] = {0};
cin >> N >> M;
for (int i = 0; i < N; i++)
cin >> ary[i];
재료의 개수 N, 갑옷을 만드는 데 필요한 개수 M, 재료의 고유 번호 ary를 초기화해준다.
for (int i = 0; i < N; i++)
{
for (int j = i + 1; j < N; j++)
{
if (ary[i] + ary[j] == M)
cnt++;
}
}
cout << cnt;
}
배열의 원소를 하나씩 검사하며, 둘을 더했을 때 M이 되는지 확인한 수 개수를 증가시키면 간단하게 해결된다. 이를 시각적으로 표현하면 다음과 같다.
총합본
#include <iostream>
using namespace std;
int main()
{
int N, M, cnt = 0;
int ary[150001] = {0};
cin >> N >> M;
for (int i = 0; i < N; i++)
cin >> ary[i];
for (int i = 0; i < N; i++)
{
for (int j = i + 1; j < N; j++)
{
if (ary[i] + ary[j] == M)
cnt++;
}
}
cout << cnt;
}
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준] 1065 with C++ (0) | 2023.02.23 |
---|---|
[백준] 1620 with C++ (0) | 2023.02.22 |
[백준] 3986 with C++ (0) | 2023.02.20 |
[백준] 1193 with C++ (0) | 2023.02.19 |
[백준] 1316 with C++ (0) | 2023.02.18 |