본문 바로가기
백준 풀이

[백준/BOJ] - 3052번 c++ 풀이

by 반오십 코린이 2022. 11. 11.
728x90


배열을 총 3가지를 만든다.

1. 입력 값 받아 넣는 배열

2. 입력 값 기준 42로 나누었을 때 나머지 값 저장하는 배열

3. 나머지 값을 배열의 index로 하여 값이 존재하면 배열 속의 값을 +1 하는 배열

 

알아가는 문법 

- 배열의 길이는 sizeof('배열의 이름')/sizeof('배열의 자료형')


#include<iostream>
#include<string>

using namespace std;
int main() {	
	int N;
	int arr[10]; //input
	int divide[10] = { 42, }; // divide value
	int exist[42] = { 0, }; // divide value existence whether or not
	int cnt = 0;
	for (int i = 0; i < 10; i++) { // store arr & divide
		cin >> N;
		arr[i] = N;
		divide[i] = arr[i] % 42;	
	}
	for (int i = 0; i < 10; i++) { //store exist
		if (divide[i] != 42) //나머지 값이 존재하면 
			exist[divide[i]]++;
	}
	for (int i = 0; i < sizeof(exist)/sizeof(int); i++) { // 다른 나머지 값 존재 확인
		if (exist[i] != 0)
			cnt++;
	}
	cout << cnt;

	return 0;
}
728x90