문제
풀이
입력값을 42로 나누고, 나눈 숫자 중 다른 숫자가 몇개 있는지를 출력하는 문제입니다. 42로 나눈 후의 나머지 값을 저장하기위한 크기가 10인 배열을 이용하여 문제를 해결해주면 됩니다. 이중 for문을 이용하여 각 입력값을 비교한 후 중복 되는 수가 있으면 10개의 수에서 1씩 감소 시키면 for문이 모두 동작한 후에 다른 수가 몇개인지가 남게 되고, 그 값을 출력하는 방식으로 문제 풀이를 진행해주면 됩니다.
소스코드
#include <iostream>
using namespace std;
int main()
{
int array[10], value=10;
for (int i = 0; i < 10; i++)
{
cin >> array[i];
array[i]= array[i]%42;
}
for (int i = 0; i < 10; i++)
{
int count =0;
for (int j = i+1; j < 10; j++)
{
if(array[i]==array[j]) count ++;
}
if(count!=0) value--;
}
cout << value << '\n';
}
저는 최초 풀이 진행 시 한 번 이상 중복되면 다른 수로 취급하는 것을 고려하지 않고 한 번 이상 중복되는 경우 중복된 수만큼 감소시켜 틀렸었습니다.....ㅠㅠ
'Algorithm > Python, C++' 카테고리의 다른 글
백준 8958_OX퀴즈[C++] (0) | 2022.01.18 |
---|---|
백준 4344_평균은 넘겠지[C++] (0) | 2022.01.17 |
백준 2577_숫자의 개수[C++] (0) | 2022.01.17 |
백준 2562_최댓값[C++] (0) | 2022.01.17 |
백준 1546_평균[C++] (0) | 2022.01.16 |
댓글