반응형
배열 in_arr 에 숫자 10개를 차례대로 입력받고 저장한다.
배열 re_arr 에 in_arr 의 원소들을 각각 42로 나눈 나머지를 차례대로 저장한다.
re_arr 를 오름차순으로 sort 한다.
check 라는 변수를 만들고, re_arr의 첫번째 원소를 할당해준다.
re_arr 의 두번째 원소부터 차례대로 check 와 같은 값을 가지는지 아닌지 확인을 해본다.
같은 값이 아니라면 cases 값을 하나 증가시켜 준 뒤,
check 값은 비교결과가 같지 않았던 그 re_arr의 원소 값으로 다시 할당해준다.
앞의 과정을 re_arr 의 모든 원소에 대해서 반복한다.
비교가 끝났다면 cases 값을 출력한다.
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int* in_arr = new int[10];
int* re_arr = new int[10];
int cases = 1;
for (int i = 0; i < 10; i++) cin >> in_arr[i];
for (int j = 0; j < 10; j++) re_arr[j] = in_arr[j] % 42;
sort(re_arr, re_arr + 10);
int check = re_arr[0];
for (int k = 1; k < 10; k++) {
if (re_arr[k] != check) {
cases++;
check = re_arr[k];
}
}
cout << cases << endl;
return 0;
}
반응형
'Training > BOJ' 카테고리의 다른 글
[C++] 2869 달팽이는 올라가고 싶다 (0) | 2020.08.08 |
---|---|
[C++] 8958 OX퀴즈 (0) | 2020.08.03 |
[C++] 2577 숫자의 개수 (0) | 2020.08.03 |
[C++] 2562 최댓값 (1) | 2020.08.03 |
[C++] 11720 숫자의 합 (0) | 2020.07.20 |