궤도

[백준] 3052번 : 나머지 본문

💻 현생/⛓ 알고리즘

[백준] 3052번 : 나머지

영이오 2020. 10. 13. 15:07

문제

 


풀이

 

42로 나눈다는 사실이 고정됐기 때문에 쉬운 문제이다. 42로 나눈다면 그 나머지는 0~41일 것이다. 그럼 해당 나머지의 출현 횟수를 세어주는 42 크기의 int 배열을 만들면 된다. 배열을 채운 뒤 한 번 돌아주며 저장된 값이 0이 아닌 인덱스를 체크해주면 된다.


소스코드

 

#include <iostream>
using namespace std;

int main() {
	int num, remain[42], count = 0, i;
	for (i = 0; i < 42; i++)
		remain[i] = 0;

	for (i = 0; i < 10; i++) {
		cin >> num;
		int R = num % 42;
		remain[R]++;
	}
	for (i = 0; i < 42; i++) {
		if (remain[i] != 0) //해당 나머지가 있었으면 0이 아닐 것
			count++;
	}
	cout << count << endl;
}
Comments