본문 바로가기
알고리즘/백준 문제 풀이

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

by 미니상미니 2022. 10. 12.
반응형

https://www.acmicpc.net/problem/3052

 

3052번: 나머지

각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.

www.acmicpc.net

 

 

 

 


  • 문제

단계별로 풀어보기 - 1차원 배열 - [3단계] 3052번


해설

42로 나눈 나머지는 0 ~ 41이다.

입력된 10개의 수 중 42로 나눈 서로 다른 나머지의 개수를 세는 문제다.

 

A를 10번 받으며 배열[A % 42] = true 로 한다.

마지막 줄에 배열을 돌며 true인 것의 개수를 세면 서로 다른 나머지의 개수가 나온다.

 

코드

c

#include <stdio.h>


int main() {

	int a;
	bool cnt[42] = { false, };

	int res = 0;

	for (int i = 0; i < 10; i++) {
		scanf("%d", &a);
		
		cnt[a % 42] = true;
	}

	for (int i = 0; i < 42; i++) {
		if (cnt[i]) res++;
	}

	printf("%d", res);
	

	return 0;
}

 

c++

#include <iostream>

using namespace std;


int main() {

	int a;
	bool cnt[42] = { false, };

	int res = 0;

	for (int i = 0; i < 10; i++) {
		cin >> a;
		
		cnt[a % 42] = true;
	}

	for (int i = 0; i < 42; i++) {
		if (cnt[i]) res++;
	}

	cout << res;
	

	return 0;
}

 

 

 

 

 

반응형

댓글