C++

[백준 알고리즘] 3052번 : 나머지, c++

2022. 1. 16. 17:19

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

 

3052번: 나머지

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

www.acmicpc.net

c++로 백준 3052번 문제를 풀어보겠다.

 

 

 

 

 

문제

두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 

수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.

입력

첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.

출력

첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.

예제 입력 1 복사

1
2
3
4
5
6
7
8
9
10

예제 출력 1 복사

10

 

 

 

<문제 풀이>

1. 1차원 배열 arr[10]을 선언한 후 10개의 정수를 입력받는다.

2. 입력받은 정수를 '42로 나눈 그 나머지 값'으로 다시 바꾸어 저장한다.

3. 정수 10개를 for문을 사용해 서로 한 번씩 비교하며 그 값이 같으면 둘 중 하나를 '-1'로 바꾸어 저장한다.

4. 정수 10개를 for문을 사용해 저장된 값이 -1이 아니라면 count 값을 하나 올린다.

5. count 값을 출력한다.

 

 

 

코드는 다음과 같다.