https://www.acmicpc.net/problem/3052
🏝 해결방법
1. 수를 입력받는 동시에 그 수를 42로 나눈 나머지를 num 벡터에 저장
2. 벡터를 오름차순으로 정렬(<algorithm> 헤더의 sort 함수 사용)
3. 벡터 전체를 앞에서부터 탐색하면서 다른 수가 나올 때마다 cnt 증가
4. cnt 출력
🏖 내 코드(C++)
// [3052] 나머지
// https://www.acmicpc.net/problem/3052
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int main(void)
{
int cnt = 1, n, tmp;
vector <int> num;
for(int i = 0 ; i < 10 ; i++) {
scanf("%d", &n);
num.push_back(n % 42);
}
sort(num.begin(), num.end());
tmp = num[0];
for(int i = 1 ; i < 10 ; i++) {
if(num[i] != tmp) {
cnt++;
tmp = num[i];
}
}
printf("%d\n", cnt);
return 0;
}
반응형
'Baekjoon > 수학' 카테고리의 다른 글
[4344] 평균은 넘겠지 (0) | 2020.06.22 |
---|---|
[1546] 평균(C) (0) | 2020.06.22 |
[3053] 택시 기하학(C++) (0) | 2020.06.21 |
[2775] 부녀회장이 될테야 (0) | 2020.04.04 |
[2908] 상수 (0) | 2020.04.04 |